GoJS最简单的实例
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var diagram = new go.Diagram("myDiagramDiv"); var node = new go.Node(go.Panel.Auto); var shape = new go.Shape(); shape.figure = "RoundedRectangle"; shape.fill = "lightblue"; node.add(shape); var textblock = new go.TextBlock(); textblock.text = "Hello!"; textblock.margin = 5; node.add(textblock); diagram.add(node); </script> </body>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var diagram = new go.Diagram("myDiagramDiv"); var $ = go.GraphObject.make; diagram.add( $(go.Node, go.Panel.Auto, $(go.Shape, { figure: "RoundedRectangle", fill: "lightblue" }), $(go.TextBlock, { text: "Hello!", margin: 5 }) )); </script> </body>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var diagram = new go.Diagram("myDiagramDiv"); var $ = go.GraphObject.make; diagram.add( $(go.Node, "Auto", $(go.Shape, "RoundedRectangle", { fill: "lightblue" }), $(go.TextBlock, "Hello!", { margin: 5 }) )); </script> </body>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var diagram = new go.Diagram("myDiagramDiv"); var $ = go.GraphObject.make; diagram.add( $(go.Node, "Auto", $(go.Shape, "RoundedRectangle", { fill: $(go.Brush, "Linear", { 0.0: "Violet", 1.0: "Lavender" }) }), $(go.TextBlock, "Hello!", { margin: 5 }) )); </script> </body>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>hwl</title> </head <body> <div id="myDiagramDiv" style="border:solid 1px blue; width:400px; height:150px"></div> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> <script> var diagram = new go.Diagram("myDiagramDiv"); diagram.model = new go.GraphLinksModel( [{ key: "wo" }, { key: "ai" }, { key: "ni" }], // 数组中有3个节点数据 [{ from: "wo", to: "ai" }, { from: "ai", to: "ni" }] // 数组中有3个连接数据 ); </script> </body> </html>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var $ = go.GraphObject.make; var diagram = new go.Diagram("myDiagramDiv"); var violetbrush = $(go.Brush, "Linear", { 0.0: "Violet", 1.0: "Lavender" }); diagram.add( $(go.Node, "Auto", $(go.Shape, "RoundedRectangle", { fill: violetbrush }), $(go.TextBlock, "Hello!", { margin: 5 }) )); diagram.add( $(go.Node, "Auto", $(go.Shape, "Ellipse", { fill: violetbrush }), $(go.TextBlock, "Goodbye!", { margin: 5 }) )); diagram.add( $(go.Part, "Vertical", $(go.TextBlock, { text: "a TextBlock" }), $(go.TextBlock, { text: "a TextBlock", stroke: "red" }), $(go.TextBlock, { text: "a TextBlock", background: "lightblue" }), $(go.TextBlock, { text: "a TextBlock", font: "bold 14pt serif" }) )); diagram.add( $(go.Part, "Vertical", $(go.TextBlock, { text: "a TextBlock", background: "lightgreen", margin: 2 }), $(go.TextBlock, { text: "a TextBlock", background: "lightgreen", margin: 2, width: 100, height: 33 }), $(go.TextBlock, { text: "a TextBlock", background: "lightgreen", margin: 2, width: 60, height: 33 }), $(go.TextBlock, { text: "a TextBlock", background: "lightgreen", margin: 2, width: 50, height: 22 }), $(go.TextBlock, { text: "a TextBlock", background: "lightgreen", margin: 2, width: 40, height: 9 }) )); diagram.add( $(go.Part, "Vertical", $(go.TextBlock, { text: "a Text Block", background: "lightgreen", margin: 2 }), $(go.TextBlock, { text: "a Text Block", background: "lightgreen", margin: 2, width: 50, wrap: go.TextBlock.None }), $(go.TextBlock, { text: "a Text Block", background: "lightgreen", margin: 2, width: 50, wrap: go.TextBlock.WrapDesiredSize }), $(go.TextBlock, { text: "a Text Block", background: "lightgreen", margin: 2, width: 50, wrap: go.TextBlock.WrapFit }) )); </script> </body>
复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>GoJS实例</title> <style> #myDiagramDiv { width: 400px; height: 500px; background-color: #DAE4E4; } </style> <script src="https://unpkg.com/gojs/release/go-debug.js"></script> </head> <body> <div id="myDiagramDiv"></div> <script> var $ = go.GraphObject.make; var diagram = new go.Diagram("myDiagramDiv"); diagram.add( $(go.Part, "Horizontal", $(go.Shape, "Rectangle", { width: 40, height: 60, margin: 4, fill: null }), $(go.Shape, "RoundedRectangle", { width: 40, height: 60, margin: 4, fill: "red" }), $(go.Shape, "Ellipse", { width: 40, height: 60, margin: 4, fill: "green" }), $(go.Shape, "Triangle", { width: 40, height: 60, margin: 4, fill: "blue" }), $(go.Shape, "Diamond", { width: 40, height: 60, margin: 4, fill: "brown" }) )); diagram.div.style.background = "lightgreen"; var W_geometry = go.Geometry.parse("M 0,0 L 10,50 20,10 30,50 40,0", false); diagram.add( $(go.Part, "Horizontal", $(go.Shape, { geometry: W_geometry, strokeWidth: 2 }), $(go.Shape, { geometry: W_geometry, stroke: "blue", strokeWidth: 10, strokeJoin: "miter", strokeCap: "butt" }), $(go.Shape, { geometry: W_geometry, stroke: "green", strokeWidth: 10, strokeJoin: "bevel", strokeCap: "round" }), $(go.Shape, { geometry: W_geometry, stroke: "red", strokeWidth: 10, strokeJoin: "round", strokeCap: "square" }), $(go.Shape, { geometry: W_geometry, stroke: "purple", strokeWidth: 2, strokeDashArray: [6, 6, 2, 2] }) )); //一个模板map的例子 var simpletemplate = $(go.Node, "Auto", $(go.Shape, "Ellipse", new go.Binding("fill", "color")), $(go.TextBlock, new go.Binding("text", "key")), { toolTip: $(go.Adornment, "Auto", $(go.Shape, { fill: "#FFFFCC" }), $(go.TextBlock, { margin: 4 }, new go.Binding("text", "desc")) ) } ); // the "detailed" template shows all of the information in a Table Panel var detailtemplate = $(go.Node, "Auto", $(go.Shape, "RoundedRectangle", new go.Binding("fill", "color")), $(go.Panel, "Table", { defaultAlignment: go.Spot.Left }, $(go.TextBlock, { row: 0, column: 0, columnSpan: 2, font: "bold 12pt sans-serif" }, new go.Binding("text", "key")), $(go.TextBlock, { row: 1, column: 0 }, "Description:"), $(go.TextBlock, { row: 1, column: 1 }, new go.Binding("text", "desc")), $(go.TextBlock, { row: 2, column: 0 }, "Color:"), $(go.TextBlock, { row: 2, column: 1 }, new go.Binding("text", "color")) ) ); // 创建了TemplateMap。里面含有三个键值对 var templmap = new go.Map("string", go.Node); templmap.add("simple", simpletemplate); templmap.add("detailed", detailtemplate); templmap.add("", diagram.nodeTemplate); //重点。当创建map后,将map和画布进行绑定 diagram.nodeTemplateMap = templmap; diagram.model.nodeDataArray = [{ key: "Alpha", desc: "first letter", color: "green" }, // uses default category: "" { key: "Beta", desc: "second letter", color: "lightblue", category: "simple" }, { key: "Gamma", desc: "third letter", color: "pink", category: "detailed" }, { key: "Delta", desc: "fourth letter", color: "cyan", category: "detailed" } ]; </script> </body>