[
{"id":1,"label":"Node 2"},
{"id":2,"label":"Node 3"},
{"id":3,"label":"Node 4"},
{"id":4,"label":"Node 5"}
]
Hi! In the following code, the function getArray() returns this string ↑. Do you know how to connect it with the variable nodes in the .html . I pasted the codes, Thanks!
function getArray(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = ss.getRange(1,1,ss.getLastRow()-1,2).getValues();
let objArray = []
data.forEach(element => {
let obj = {}
obj.id = element[0]
obj.label = element[1]
objArray.push(obj)
return element
}
)
var obj = JSON.stringify(objArray);
//Logger.log(obj);
return obj;
}
<!doctype html>
<html>
<head>
<title>Network</title>
</head>
<body>
<div id="mynetwork"></div>
<script type="text/javascript">
var nodes = [
{"id":1,"label":"Node 2"},
{"id":2,"label":"Node 3"},
{"id":3,"label":"Node 4"},
{"id":4,"label":"Node 5"}
];
</script>
</body>
</html>
Recap: My goal is use the returned "obj" in .gs as var "nodes" in .html. I don't know if the programming speech its correct. Thanks!
If some can share me the code, im going to thanks you a lot thanks!
nodes
are retrieved by google.script.run
.getArray()
in GAS side, the value is returned as an object.nodes
is used for vis.js.function showBox() {
var template = HtmlService.createTemplateFromFile("Map");
var html = template.evaluate();
html.setHeight(450).setWidth(650);
SpreadsheetApp.getUi().showModalDialog(html, "New Title");
}
function getArray(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = ss.getRange(1,1,ss.getLastRow()-1,2).getValues();
let objArray = []
data.forEach(element => {
let obj = {}
obj.id = element[0]
obj.label = element[1]
objArray.push(obj)
return element
}
)
return objArray; // Modified
}
<!doctype html>
<html>
<head>
<title>Network</title>
<script type="text/javascript" src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<style type="text/css">
#mynetwork {
width: 600px;
height: 400px;
border: 1px solid lightgray;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div id="text"></div>
<div id="mynetwork"></div>
<script type="text/javascript">
// Modified
google.script.run.withSuccessHandler(nodes => {
var edges = [{from: 1, to: 3}, {from: 1, to: 2}, {from: 2, to: 4}, {from: 2, to: 5}, {from: 3, to: 3}];
var container = document.getElementById('mynetwork');
var data = {nodes: nodes, edges: edges};
var options = {edges: {smooth: false}, physics: {enabled: false}};
var network = new vis.Network(container, data, options);
}).getArray();
</script>
</body>
</html>