Mam małą kwestię z parametrem direction funkcji getConnectedNodes() na podstawie Vis.js Documentation (wyszukaj" GetConnectedNodes "w linku)

Jakiś pomysł, aby uzyskać kierunek krawędzi za pomocą parametru (nie wiem, jak się)?

JSON Przykład

[ 
  { "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 ] } 
]

Tutaj część kodu

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];
  });
}

Przed ręką, bardzo dziękuję!

1
Mario IR 27 marzec 2020, 05:19

1 odpowiedź

Najlepsza odpowiedź

index jest indeksem tablicy jak 0, 1, 2,,,. Indeks start to 0. Z drugiej strony elem jest obiektem taki jak {x: ###, y: ###, id: ###}. Z tych sytuacji pomyślałem, że index getConnectedNodes(index) może być elem.id. Więc o następującej modyfikacji?

Od:

elem.connections = network.getConnectedNodes(index);

Do:

elem.connections = network.getConnectedNodes(elem.id, "from");
  • Z Dokument, jeśli chcesz odzyskać "rodzica" , Możesz go odzyskać, dodając from do argumentu.

    • dla identyfikatora węzła zwraca tablicę z identyfikatorem połączonych węzłów.
    • Jeśli opcjonalny kierunek parametrów jest ustawiony na ciąg "z", zwracane są tylko węzły macierzyste.
    • Jeśli kierunek jest ustawiony na "do", zwracane są tylko węzły podrzędne.
    • jakakolwiek inna wartość lub niezdefiniowane zwroty rodziców, jak i podrzędnych.
  • Kiedy chcesz pobrać "dziecko", dodaj to do argumentu zamiast from.

Przepraszam, jeśli źle zrozumiałem Twoje pytanie i nie był to rezultat, którego oczekujesz.

3
Tanaike 27 marzec 2020, 05:00