Диаграмма Go.JS Добавление объекта массива Javascript не работает должным образом Нет хэш-идентификатора - PullRequest
0 голосов
/ 05 ноября 2019

Это должно быть проблема форматирования, но мой график не принимает новые данные из реального источника ... Я заметил, что Go.js не генерирует хэш-идентификатор

 function updateGraph(node_list,myDiagram){
        var model = $(go.TreeModel);
        //add some dummy data
          model.nodeDataArray =
        [
         { key: 1, parent: 1, color: "lightblue"},
         { key: 2, parent: 1 , color: "lightblue"},
         { key: 3, parent: 2, color: "lightblue"}
        ];
        //add real data
        for(let id = 1; id < node_list.length; id++){
            model.nodeDataArray.push({key: node_list[id].getNodeID(), parent: node_list[id].getNodeID(),  color: "lightblue"});
        }
        console.log(model.nodeDataArray);
        myDiagram.model = model;
    }

Консоль:

0: {key: 1, parent: 1, color: "lightblue", __gohashid: 409}
1: {key: 2, parent: 1, color: "lightblue", __gohashid: 410}
2: {key: 3, parent: 2, color: "lightblue", __gohashid: 411}
3: {key: "step_02_set_incoming_file_permissions", parent: "step_02_set_incoming_file_permissions", color: "lightblue"}
4: {key: "step_025_truncate", parent: "step_025_truncate", color: "lightblue"}
5: {key: "step_03_extract_item_sold_details", parent: "step_03_extract_item_sold_details", color: "lightblue"}

Go.js not displaying real data


Однако, если установить фиктивные данные на жестко закодированные значения, выводимые на консоль:

  model.nodeDataArray =
    [
   {key: "step_02_set_incoming_file_permissions", parent: "step_01_starting_email", color: "lightblue"},
   {key: "step_025_truncate", parent: "step_02_set_incoming_file_permissions", color: "lightblue"},
   {key: "step_03_extract_item_sold_details", parent: "step_025_truncate", color: "lightblue"}
    ];

Я получаю вывод с хэш-идентификаторами:

enter image description here

1 Ответ

1 голос
/ 05 ноября 2019

Хорошо, поэтому Go.JS требуется другая функция для правильного добавления данных. По какой-то причине вы не можете просто кормить его диманическим объектом ... Вызов метода addNodeData согласно Документации Go.JS исправил проблему с графикой!

 model.addNodeData({key: node_list[id].getNodeID(), parent: node_list[id].getNodeID(),  color: "lightblue"});
 model.addLinkData( { from: node_list[id].getNodeID(), to: node_list[id].getNextNode() } ); //link data
...