2015-03-10 2 views
1

У меня есть набор данных в формате 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(); 
    } 

Любые предложения по тому, как это сделать? Не могу ли я использовать метод () в коллекции, чтобы сделать видимыми узлы?

+0

cy.on ('tap', function (evt) {console.log (cy. $ ('#' + Evt.target.id()). Окрестности())}); Он показывает мне OBJECT ..... я просто хочу список непосредственно подключенного узла ... как получить это ... –

ответ

2

Необходимо использовать только node.neighborhood(), например. cy.$(':selected').neighborhood().removeClass('hidden').

+0

Спасибо Макс, я получил его для работы, используя: 'cy.nodes (': select(). nodes(). nodes(). show(); ' –

+0

cy.on ('tap', function (evt) {console.log (cy. $ ('#' + evt.target.id()).окрестности()) }); Он показывает мне OBJECT ..... я просто хочу список непосредственно прикрепленного узла ... как это получить ... –

Смежные вопросы