У меня есть набор данных в формате JSON, содержащий информацию о узлах и ребрах, которые я использую для создания сетевого графика в cytoscapeJS. Данные JSON содержат атрибуты id, value, shape, color и visibleDisplay ('element' или 'none') для узлов и id, source, target и label для edge. В моей таблице стилей используется свойство 'visibleDisplay' для отображения/скрыть узлы, если необходимо, когда контейнер first cy сначала инициализируется.CytoscapeJS - показать окрестности узла?
Я хочу, чтобы пользователи могли показывать узлы с опцией «Показать окрестности». Я изменил свой старый код, чтобы использовать коллекции, но он по-прежнему не работает:
function showNeighbourhood() {
var eleID;
var neighbourArray= new Array();
var neighbours= cy.collection(); // collection
cy.nodes().forEach(function(ele) {
if(ele.selected()) { // get the currently selected node.
eleID= ele.id();
}
});
// Find its connected neighbours.
cy.edges().forEach(function(edg) {
if(edg.data('source') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('target');
}
else if(edg.data('target') === eleID) {
neighbourArray[neighbourArray.length]= edg.data('source');
}
});
// Add the array to the collection.
neighbours.add(neighbourArray);
// Show neighbourhood, using the collection.
neighbours.show();
}
Любые предложения по тому, как это сделать? Не могу ли я использовать метод () в коллекции, чтобы сделать видимыми узлы?
cy.on ('tap', function (evt) {console.log (cy. $ ('#' + Evt.target.id()). Окрестности())}); Он показывает мне OBJECT ..... я просто хочу список непосредственно подключенного узла ... как получить это ... –