У меня есть два отсоединенных компонента. Одна из них - это «панель управления», и каждый узел в ней, при нажатии, должен запускать событие, которое удаляет определенные ребра из другого, в зависимости от веса, который имеют края.Использование eles.restore(); для восстановления краев Не работает - что случилось с моим кодом?
cy.on('tap', 'node', function(evt){
var node = evt.cyTarget;
var clicked_val = node.data('value');
// What is the value of the clicked node in the "control" graph?
if (typeof(clicked_val) != "undefined"){
// Only "control panel" graph nodes have 'value'
var to_restore = cy.edges("[weight > 0]");
to_restore.restore();
// Restore everything, then...
var to_remove = cy.edges("[weight < "+clicked_val+"]");
cy.remove(to_remove);
// Remove edges whose weight is less than those you want.
}
});
Линия cy.edges("[weight > 0]");
должен захватить каждое ребро (в неуправляющем графике), а в некоторых тестах, действительно кажется. Однако to_restore.restore();
не возвращает их обратно.
Все ребра имеют уникальные идентификаторы, что не должно быть проблемой.
Любые мысли оценили. Я не использую restore(); правильно?
Спасибо! Я думаю, проблема заключалась в том, что если все_и_ии совпадают с элементами, находящимися на графике, ничего не восстанавливается. – onbooze