[
{"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!
How about this modification? Please think of this as just one of several possible answers.
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>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.