提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:王香|2019-05-28 14:45:18.703|阅读 615 次
概述:GoJS是一个JavaScript库,可让您在现代Web浏览器中轻松创建交互式图表。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
GoJS是一个JavaScript库,可让您在现代Web浏览器中轻松创建交互式图表。 GoJS支持图形模板和图形对象属性的数据绑定以模拟数据。您只需要保存和恢复模型,该模型由包含应用程序所需属性的简单JavaScript对象组成。许多预定义的工具和命令实现了大多数图表所需的标准行为。外观和行为的定制主要是设置属性的问题。
以下代码定义了一个节点模板和模型数据,它生成了一个包含少量节点和链接的小图。
// For conciseness. See the "Building Parts" intro page for more var $ = go.GraphObject.make; // the node template describes how each Node should be constructed diagram.nodeTemplate = $(go.Node, "Auto", // the Shape automatically fits around the TextBlock $(go.Shape, "RoundedRectangle", // use this kind of figure for the Shape // bind Shape.fill to Node.data.color new go.Binding("fill", "color")), $(go.TextBlock, { margin: 3 }, // some room around the text // bind TextBlock.text to Node.data.key new go.Binding("text", "key")) ); // the Model holds only the essential information describing the diagram diagram.model = new go.GraphLinksModel( [ // a JavaScript Array of JavaScript objects, one per node; // the "color" property is added specifically for this app { key: "Alpha", color: "lightblue" }, { key: "Beta", color: "orange" }, { key: "Gamma", color: "lightgreen" }, { key: "Delta", color: "pink" } ], [ // a JavaScript Array of JavaScript objects, one per link { from: "Alpha", to: "Beta" }, { from: "Alpha", to: "Gamma" }, { from: "Beta", to: "Beta" }, { from: "Gamma", to: "Delta" }, { from: "Delta", to: "Alpha" } ]); // enable Ctrl-Z to undo and Ctrl-Y to redo diagram.undoManager.isEnabled = true;
这将创建以下图表:
您可以通过多种方式与此图表进行交互:
您还可以用手指在触摸设备上平移,捏放大,选择,复制,移动,删除,撤消和重做。大多数可以从键盘调用的命令都可以从默认的上下文菜单调用,您可以通过按下手指并保持静止一会儿来获得该命令。
文档中所有示例的独特之处在于它们都是“实时” - 没有屏幕截图!它们是由显示的源代码实现的实际Diagram。您可以与它们进行交互 - 有些甚至可以显示动画。
如果您想了解更多关于GoJS可以做什么的示例,请参阅GoJS Samples目录。为了便于搜索JavaScript代码和文档或通过修改示例进行实验,您可以通过各种方式安装GoJS工具包:
图表 s由部分 s组成:节点可以通过链路连接,并且可以组合在一起成为组 s。所有这些部分都在图层中聚集在一起,并按布局排列。
每个图都有一个模型,用于保存和解释您的应用程序数据,以确定节点到节点的链接关系和组成员关系。大多数部件都是数据绑定到您的应用程序数据。该图自动为模型的Model.nodeDataArray中的每个数据项创建一个Node或Group, 并为模型的GraphLinksModel.linkDataArray中的每个数据项创建一个Link。您可以向每个数据对象添加所需的任何属性,但每种模型只需要几个属性。
每个节点或链接通常由声明其外观和行为的模板定义。每个模板由面板号第GraphObject S,从而如TextBlock的 S或形状秒。所有部件都有默认模板,但几乎所有应用程序都会指定自定义模板,以实现所需的外观和行为。GraphObject属性与模型数据属性的数据绑定使每个节点或链接对数据唯一。
该节点可以被手动地定位(交互方式或编程),或者可以由自动排列 Diagram.layout以及由每个Group.layout。节点位于其左上角点(GraphObject.position)或节点中的程序员定义点(Part.location和Part.locationSpot)。
工具处理鼠标和键盘事件。每个图都有许多工具可以执行交互式任务,例如选择零件或拖动它们或在两个节点之间绘制新链接。该ToolManager确定哪些工具应该运行,根据鼠标事件和目前的情况。
每个图还有一个CommandHandler,它实现了各种命令,例如Delete或Copy。当ToolManager运行时,CommandHandler解释键盘事件,例如control-Z。
该图提供了滚动图表部分以及放大或缩小的功能。该图还包含所有层,而这些层又包含所有部分(节点和链接)。这些部件又由可能嵌套的文本,形状和图像组成。内存中JavaScript对象的这种层次结构形成了图表可能绘制的所有内容的“可视树”。
在概述类允许用户看到整个模型和控制一下它的一部分,该图显示。的调色板类认为,用户可以拖动和放下到的图的部分。
您可以在图表中选择一个或多个部件。模板实现可以在选择节点或链接时更改其外观。该图还可以添加装饰以指示选择并支持诸如调整节点大小或重新连接链接之类的工具。装饰品也是工具提示和上下文菜单的实现方式。
应该在每个用户操作的单个事务中执行 对Diagram,GraphObject,Model或model数据状态的所有编程更改,以确保正确更新并支持undo / redo。所有预定义的工具和命令都执行事务,因此如果启用了UndoManager,则每个用户操作都可以自动撤消。 图表上的DiagramEvent以及Diagrams和GraphObjects上的事件处理程序都会记录它们是否在事务中引发,或者是否需要执行事务以更改模型或图表。
GoJS不依赖于任何JavaScript库或框架,因此您应该能够在任何环境中使用它。但是它确实需要环境支持现代HTML和JavaScript。
在您可以执行任何JavaScript代码来构建Diagram之前,您需要加载GoJS库。当您包含库时,“go”JavaScript对象将包含所有GoJS类型。在开发过程中,我们建议您加载“go-debug.js”而不是“go.js”,以获得额外的运行时错误检查和调试功能。
建议您声明您的网页支持现代HTML:
. . .
如果您使用的是RequireJS,GoJS支持UMD模块定义。有关示例,请参阅Require示例。此外,现在可以使用扩展类的模块化版本../extensionsTS/,其中扩展类已被转换为TypeScript并编译为.js可import编辑的文件。或required。
在ES6(ECMAScript 2015)或TypeScript代码中,只需导入“go.js”库:
import * as go from "./path/to/gojs/release/go";
取决于您的npm环境:
import * as go from "gojs";
每个图必须由HTML Div元素托管。 GoJS将管理该Div元素的内容,但您可以像对待任何HTML元素一样定位和调整Div的样式。该图将向该图将绘制的Div元素添加Canvas元素 - 这是用户实际看到的内容。Canvas元素的大小自动调整为与Div元素大小相同。
. . .
然后,您可以使用对该Div元素的引用在JavaScript中创建Diagram。通过构造纯JavaScript对象并将其添加到图的模型来构建图。请注意,JavaScript代码中对GoJS类型(如Diagram)的所有引用都以“go.”为前缀。
购买GoJS正版授权,请点击“”哟!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢