forked from NorthwoodsSoftware/GoJS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminimalJSON.html
82 lines (76 loc) · 2.96 KB
/
minimalJSON.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Minimal GoJS Sample with JSON</title>
<meta name="description" content="The Minimal sample, loading the model from a JSON data source." />
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Copyright 1998-2019 by Northwoods Software Corporation. -->
<script src="../assets/js/jquery.min.js"></script>
<script src="../release/go.js"></script>
<script src="../assets/js/goSamples.js"></script> <!-- this is only for the GoJS Samples framework -->
<script id="code">
function init() {
if (window.goSamples) goSamples(); // init for these samples -- you don't need to call this
var $$ = go.GraphObject.make; // for conciseness in defining templates, avoid $ due to jQuery
myDiagram = $$(go.Diagram, "myDiagramDiv", // create a Diagram for the DIV HTML element
{
"undoManager.isEnabled": true // enable undo & redo
});
// define a simple Node template
myDiagram.nodeTemplate =
$$(go.Node, "Auto", // the Shape will go around the TextBlock
$$(go.Shape, "RoundedRectangle", { strokeWidth: 0 },
// Shape.fill is bound to Node.data.color
new go.Binding("fill", "color")),
$$(go.TextBlock,
{ margin: 8 }, // some room around the text
// TextBlock.text is bound to Node.data.key
new go.Binding("text", "key"))
);
// but use the default Link template, by not setting Diagram.linkTemplate
// The previous initialization is the same as the minimal.html sample.
// Here we request JSON-format text data from the server, in this case from a static file.
jQuery.getJSON("minimal.json", load);
}
function load(jsondata) {
// create the model from the data in the JavaScript object parsed from JSON text
myDiagram.model = new go.GraphLinksModel(jsondata["nodes"], jsondata["links"]);
}
</script>
</head>
<body onload="init()">
<div id="sample">
<p>Minimal <b>GoJS</b> Sample, reading JSON data</p>
<!-- The DIV for the Diagram needs an explicit size or else we won't see anything.
Also add a border to help see the edges. -->
<div id="myDiagramDiv" style="border: solid 1px black; width:400px; height:400px"></div>
<p>
This is just like the <a href="minimal.html">Minimal</a> sample, but this reads JSON data from the server.
</p>
<p>
Here are the contents of the <code>minimal.json</code> file:
</p>
<pre>
{
"nodes":[
{ "key":"Alpha", "color":"lightblue" },
{ "key":"Beta", "color":"orange" },
{ "key":"Gamma", "color":"lightgreen" },
{ "key":"Delta", "color":"pink" }
],
"links":[
{ "from":"Alpha", "to":"Beta" },
{ "from":"Alpha", "to":"Gamma" },
{ "from":"Beta", "to":"Beta" },
{ "from":"Gamma", "to":"Delta" },
{ "from":"Delta", "to":"Alpha" }
]
}
</pre>
<p>
Because this is a "minimal" sample, this sample has no way to update the data on the server.
</p>
</div>
</body>
</html>