У меня небольшая проблема при попытке получить данные из Vis. js (здесь пример!) положения узлов и ребер, связанных с идентификатором, в диапазон Google SpreadSheets.
Вот код (HTML и ГАЗ)
let nodeArray = []
data.forEach(element => {
let obj = {}
obj.id = element[0]
obj.label = element[1]
obj.title = element[2]
obj.group = element[3]
obj.x = element[4]
obj.y = element[5]
nodeArray.push(obj)
return element
})
//Logger.log(nodeArray);
return nodeArray;
}
function lineArray() {
const data = ss.getSheetByName("Conecciones").getRange(2, 1, ss.getLastRow() - 1, 5).getValues();
let edgArray = []
data.forEach(element => {
let obj = {}
obj.from = element[0]
obj.label = element[2]
obj.dashes = element[3]
obj.to = element[4]
edgArray.push(obj)
return element
})
//Logger.log(edgArray);
return edgArray;
}
<html>
<head>
<script type="text/javascript" src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
</head>
<body>
<div id="mynetwork"></div>
<input type="button" id="export_button" onclick="exportNetwork()" value="export">
<p id="input_output" style="height: 680px;"></p>
<script type="text/javascript">
function init() {
container = document.getElementById('mynetwork');
exportArea = document.getElementById('input_output');
network = google.script.run.withSuccessHandler(([nodes, edges]) => new vis.Network(container, {
nodes: nodes,
edges: edges
}, options)).sample();
};
function addConnections(elem, index) {
elem.connections = network.getConnectedNodes(index);
}
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];
});
}
init();
</script>
</body>
</html>
Я думаю, что проблема здесь, в HTML Side ?
function addConnections(elem, index) {
elem.connections = network.getConnectedNodes(index);
}
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];
});
}
Резюме:
В На данный момент, у меня проблемы с чтением данных со стороны скрипта Google (проверено на 100%, работает без «предполагаемой проблемной части»)
Заранее спасибо большое!