gojs实现一个可编辑拖动的思维导图图表效果代码
代码语言:html
所属分类:图表
代码描述:gojs实现一个可编辑拖动的思维导图图表效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script src="//repo.bfw.wiki/bfwrepo/js/go.js"></script> <p> This is a minimalist HTML and JavaScript skeleton of the GoJS Sample <a href="https://gojs.net/latest/samples/mindMap.html">mindMap.html</a>. It was automatically generated from a button on the sample page, and does not contain the full HTML. It is intended as a starting point to adapt for your own usage. For many samples, you may need to inspect the <a href="https://github.com/NorthwoodsSoftware/GoJS/blob/master/samples/mindMap.html">full source on Github</a> and copy other files or scripts. </p> <div id="allSampleContent" class="p-4 w-full"> <script id="code"> function init() { // Since 2.2 you can also author concise templates with method chaining instead of GraphObject.make // For details, see https://gojs.net/latest/intro/buildingObjects.html const $ = go.GraphObject.make; myDiagram = $(go.Diagram, "myDiagramDiv", { // when the user drags a node, also move/copy/delete the whole subtree starting with that node "commandHandler.copiesTree": true, "commandHandler.copiesParentKey": true, "commandHandler.deletesTree": true, "draggingTool.dragsTree": true, "undoManager.isEnabled": true }); // when the document is modified, add a "*" to the title and enable the "Save" button myDiagram.addDiagramListener("Modified", e => { var button = document.getElementById("SaveButton"); if (button) button.disabled = !myDiagram.isModified; var idx = document.title.indexOf("*"); if (myDiagram.isModified) { if (idx < 0) document.title += "*"; } else { if (idx >= 0) document.title = document.title.slice(0, idx); } }); // a node consists of some text with a line shape underneath myDiagram.nodeTemplate = $(go.Node, "Vertical", { selectionObjectName: "TEXT" }, $(go.TextBlock, { name: "TEXT", minSize: new go.Size(30, 15), editable: true }, // remember not only the text string but the scale and the font in the node data new go.Binding("text", "text").makeTwoWay(), new go.Binding("scale", "scale").makeTwoWay(), new go.Binding("font", "font").makeTwoWay()), $(go.Shape, "LineH", { stretch: go.GraphObject.Horizontal, strokeWidth: 3, height: 3, // this line shape is the port -- what links connect with portId: "", fromSpot: go.Spot.LeftRightSides, toSpot: go.Spot.LeftRightSides }, new go.Binding("stroke", "brush"), // make sure links come in from the proper direction and go out a.........完整代码请登录后点击上方下载按钮下载查看
网友评论0