gojs实现一个功能齐全的思维导图编辑效果代码
代码语言:html
所属分类:图表
代码描述:gojs实现一个功能齐全的思维导图编辑效果代码,鼠标滚轮缩放、单独按钮缩放。节点、链接样式。节点阴影。展开按钮样式。操作按钮包含SVG图标。单击节点、展开/折叠节点事件。默认展开某些节点。过滤节点:根据过滤器和父节点匹配,匹配的节点展开,其他隐藏。展开/折叠节点:不改变根位置。按"text"属性升序排序节点。默认调整到容器大小。不允许拖出容器外。 按钮:展开全部。折叠全部。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/all.5.6.1.css"> <style> .content { padding: 10px; } .diagram { background-color: white; border: solid 1px #B1B1B1; width: 100%; height: 500px; } /* remove blue frame from diagram */ canvas { outline: none; } .filter { position: absolute; z-index: 3; top: 20px; left: 20px; } .zoom { color: #373737; width: 20px; position: absolute; z-index: 3; top: 20px; right: 15px; cursor: pointer; } .fa-plus, .fa-minus { background: #E4E4E4; } .introduction { margin-top: 20px; padding: 10px; } .about { margin-bottom: 20px; } </style> </head> <body> <div class="content"> <div id="myDiagram" class="diagram"> </div> <div class="filter"> <input type="text" id="filterText" /> <button id="filterBtn"> <i class="fas fa-search"></i> </button> <button id="expandBtn" title="Expand all nodes"> <i class="fas fa-arrows-alt"></i> </button> <button id="collapseBtn" title="Collapse all nodes"> <i class="fas fa-compress"></i> </button> </div> <div class="zoom"> <i class="fas fa-plus" id="soomInBtn" title="zoom in"></i> <i class="fas fa-minus" id="soomOutBtn" title="zoom out"></i> </div> </div> <div class="introduction"> 此自定义图是使用 GoJs 制作的。 定制零件: 缩放鼠标滚轮。 用于缩放的单独按钮。 节点和链接的样式。 节点周围的阴影。 展开按钮样式。 带有包含 svg 图标的操作按钮的工具提示。 事件处理程序:单击节点、展开/折叠节点、添加/删除 btn 单击(请参阅控制台和警报)。 默认情况下,某些节点会展开。 蓝框将从主图和节点中删除。 筛选节点。如果筛选器不为空,则查找与筛选器及其所有直接父节点匹配的节点,然后展开这些节点。其他节点处于隐藏状态。 扩展/折叠节点时不会更改根位置。 节点按“text”属性升序排序。 默认情况下,将图表调整到其容器 不允许将图表拖到容器外 单击按钮时展开所有节点。 单击按钮时折叠所有节点。 </div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/go.js"></script> <script> (function(){ var myDiagram; init(); document.getElementById("soomInBtn").addEventListener("click", onZoomInClick); document.getElementById("soomOutBtn").addEventListener("click", onZoomOutClick); document.getElementById("filterBtn").addEventListener("click", onDoFilterClick); document.getElementById("expandBtn").addEventListener("click", onExpandAllClick); document.getElementById("collapseBtn").addEventListener("click", onCollapseAllClick); function init() { var $ = go.GraphObject.make; // for conciseness in defining templates myDiagram = $(go.Diagram, "myDiagram", // must be the ID or reference to div { initialContentAlignment: go.Spot.Center, initialAutoScale: go.Diagram.Uniform, // fit to container by default hoverDelay: 100, // controls how long to wait motionless (msec) before showing Adornment scrollMode: go.Diagram.DocumentScroll // do not allow to drag the diagram outside container }); myDiagram.toolManager.mouseWheelBehavior = go.ToolManager.WheelZoom; // Don't set Diagram.autoScale if you want the user to zoom the diagram. // define all of the gradient brushes var rootBrush = $(go.Brush, { color: "#6d7993" }); var mainGroupBrush = $(go.Brush, { color: "#984b43" }); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0