параметр направления getConnectedNodes - PullRequest
1 голос
/ 27 марта 2020

У меня небольшая проблема с параметром direction функции getConnectedNodes() на основе Vis. js документации (поиск по ссылке "getConnectedNodes" в ссылке)

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

JSON Пример

[ 
  { "x": 0, "y": 0, "id": "0", "connections": [ 2 ] // i think here should be a from?},
  { "x": 200, "y": 0, "id": "1", "connections": [ 3, 2 ] },
  { "x": 500, "y": 500, "id": "2", "connections": [ 0, 1 ] },
  { "x": 300, "y": -200, "id": "3", "connections": [ 1 ] } 
]

Здесь часть кода

google.script.run.withSuccessHandler(([nodes, edges]) => new vis.Network(container, {nodes: nodes, edges: edges}, options)).sample();

let network;

function init() {
  container = document.getElementById('mynetwork');
  exportArea = document.getElementById('input_output');
  network = google.script.run.withSuccessHandler(([nodes, edges]) => {network = new vis.Network(container, {nodes: nodes, edges: edges}, options);}).sample();
};

function addConnections(elem, index) {
  elem.connections = network.getConnectedNodes(index);               < I THINK THE PROBLEM IS HERE
}

function exportNetwork() {
  var nodes = objectToArray(network.getPositions());
  nodes.forEach(addConnections);
  var exportValue = JSON.stringify(nodes, undefined, 2);
  exportArea.innerHTML = exportValue;
}

function objectToArray(obj) {
  return Object.keys(obj).map(function(key) {
    obj[key].id = key;
    return obj[key];
  });
}

Перед рукой большое спасибо!

1 Ответ

3 голосов
/ 27 марта 2020

index - индекс массива, подобный 0, 1, 2,,,. Начальный индекс 0. С другой стороны, elem - это объект, подобный {x: ###, y: ###, id: ###}. Исходя из этой ситуации, я подумал, что index из getConnectedNodes(index) может быть elem.id. Так как насчет следующей модификации?

От:

elem.connections = network.getConnectedNodes(index);

До:

elem.connections = network.getConnectedNodes(elem.id, "from");
  • От документ, если вы хотите получить «родитель», вы можете получить его, добавив from к аргументу.

    • Для идентификатора узла возвращает массив с идентификаторами подключенных узлов. .
    • Если для необязательного параметра direction установлено значение «from», возвращаются только родительские узлы.
    • Если для direction установлено значение «to», возвращаются только дочерние узлы.
    • Любое другое значение или неопределенное значение возвращает как родительский, так и дочерний узлы.
  • Если вы хотите получить «потомок», добавьте to к аргументу вместо из from.

Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.

...