html表格类泳道图插件,向泳道中的每个节点添加CSS或样式(GOjs库)

diagram.nodeTemplate =

$(go.Node, "Auto",

$(go.Shape, "Rectangle",

new go.Binding("fill", "color")),

$(go.TextBlock,

{ margin: 5 },

new go.Binding("text", "key"))

);

diagram.model.nodeDataArray = [

{ key: "Alpha", color: "lightblue" }

];

在泳道示例它们具有以下相关代码:

myDiagram.nodeTemplate =

$(go.Node, "Auto",

$(go.Shape, "Rectangle",

{ fill: "white", portId: "", cursor: "pointer", fromLinkable: true, toLinkable: true }),

$(go.TextBlock, { margin: 5 },

new go.Binding("text", "key")),

// limit dragging of Nodes to stay within the containing Group, defined above

{

dragComputation: stayInGroup,

mouseDrop: function (e, node) { // dropping a copy of some Nodes and Links onto this Node adds them to this Node's Group

if (!e.shift && !e.control) return; // cannot change groups with an unmodified drag-and-drop

var grp = node.containingGroup;

if (grp !== null) {

var ok = grp.addMembers(node.diagram.selection, true);

if (!ok) grp.diagram.currentTool.doCancel();

}

},

layoutConditions: go.Part.LayoutAdded | go.Part.LayoutNodeSized

}

);

myDiagram.model = new go.GraphLinksModel(

[ // node data

{ key: "Lane1", isGroup: true, color: "lightblue" },

{ key: "Lane2", isGroup: true, color: "lightgreen" },

{ key: "Lane3", isGroup: true, color: "lightyellow" },

{ key: "Lane4", isGroup: true, color: "orange" },

{ key: "oneA", group: "Lane1" },

{ key: "oneB", group: "Lane1" },

{ key: "oneC", group: "Lane1" },

{ key: "oneD", group: "Lane1" },

{ key: "twoA", group: "Lane2" },

{ key: "twoB", group: "Lane2" },

{ key: "twoC", group: "Lane2" },

{ key: "twoD", group: "Lane2" },

{ key: "twoE", group: "Lane2" },

{ key: "twoF", group: "Lane2" },

{ key: "twoG", group: "Lane2" },

{ key: "fourA", group: "Lane4" },

{ key: "fourB", group: "Lane4" },

{ key: "fourC", group: "Lane4" },

{ key: "fourD", group: "Lane4" },

],

[ // link data

{ from: "oneA", to: "oneB" },

{ from: "oneA", to: "oneC" },

{ from: "oneB", to: "oneD" },

{ from: "oneC", to: "oneD" },

{ from: "twoA", to: "twoB" },

{ from: "twoA", to: "twoC" },

{ from: "twoA", to: "twoF" },

{ from: "twoB", to: "twoD" },

{ from: "twoC", to: "twoD" },

{ from: "twoD", to: "twoG" },

{ from: "twoE", to: "twoG" },

{ from: "twoF", to: "twoG" },

{ from: "fourA", to: "fourB" },

{ from: "fourB", to: "fourC" },

{ from: "fourC", to: "fourD" }

]);

为了让每个节点自身填充颜色更改线路

{ fill: "white", portId: "", cursor: "pointer", fromLinkable: true, toLinkable: true }),

{ fill: "lightblue", portId: "", cursor: "pointer", fromLinkable: true, toLinkable: true },

new go.Binding("fill", "color")),

做出这些更改后,您可以指定节点数据中所需的填充颜色。请注意,我将上面的原始填充值更改为lighblue。现在lightblue将成为默认的颜色,如果你不指定节点的颜色(fourD会lightblue):

myDiagram.model = new go.GraphLinksModel(

[ // node data

{ key: "Lane1", isGroup: true, color: "lightblue" },

{ key: "Lane2", isGroup: true, color: "lightgreen" },

{ key: "Lane3", isGroup: true, color: "lightyellow" },

{ key: "Lane4", isGroup: true, color: "orange" },

{ key: "oneA", group: "Lane1", color: "green" },

{ key: "oneB", group: "Lane1", color: "red" },

{ key: "oneC", group: "Lane1", color: "yellow" },

{ key: "oneD", group: "Lane1", color: "purple" },

{ key: "twoA", group: "Lane2", color: "orange" },

{ key: "twoB", group: "Lane2", color: "green" },

{ key: "twoC", group: "Lane2", color: "red" },

{ key: "twoD", group: "Lane2", color: "yellow" },

{ key: "twoE", group: "Lane2", color: "purple" },

{ key: "twoF", group: "Lane2", color: "orange" },

{ key: "twoG", group: "Lane2", color: "green" },

{ key: "fourA", group: "Lane4", color: "red" },

{ key: "fourB", group: "Lane4", color: "yellow" },

{ key: "fourC", group: "Lane4", color: "purple" },

{ key: "fourD", group: "Lane4" },

],

[ // link data

{ from: "oneA", to: "oneB" },

{ from: "oneA", to: "oneC" },

{ from: "oneB", to: "oneD" },

{ from: "oneC", to: "oneD" },

{ from: "twoA", to: "twoB" },

{ from: "twoA", to: "twoC" },

{ from: "twoA", to: "twoF" },

{ from: "twoB", to: "twoD" },

{ from: "twoC", to: "twoD" },

{ from: "twoD", to: "twoG" },

{ from: "twoE", to: "twoG" },

{ from: "twoF", to: "twoG" },

{ from: "fourA", to: "fourB" },

{ from: "fourB", to: "fourC" },

{ from: "fourC", to: "fourD" }

]);

 跨浏览器,可兼容IE7--IE10, FireFox, Chrome, Opera等几大内核的浏览器,且不需要浏览器再加装任何控件。  多系统兼容性、可移植性:由于只包括前台UI,因此二次开发者可很方便将本插件用在任何一种需要流程图的B/S系统应用上,流程图的详细实现逻辑完全交于后台程序开发者自己实现;对于后台,只要能返回/接收能被本插件解析的JSON格式数据即可.所以本插件可用于不同的服务器语言建立的后台上.  跨领域:流程图设计器不止用在电信领域,在其它需要IT进行技术支持的领域都有重大作用.  以下从纯技术实现层面具体描述:  页面顶部栏、左边侧边栏均可自定义;  当左边的侧边栏设为不显示时,为只读状态,此时的视图区可当作是一个查看器而非编辑器。  侧边工具栏除了基本和一些流程节点按钮外,还自定义新的节点按钮,自定义节点都可以有自有的图标、型名称,定义后在使用可可在工作区内增加这些自定义节点。  顶部栏可显示流程图数据组的标题,也可提供一些常用操作按钮。  顶部栏的按钮,除了撤销、重做按钮外,其余按钮均可自定义点击事件。  可画直线、折线;折线还可以左右/上下移动其段。  具有区域划分功能,能让用户更直观地了解哪些节点及其相互间的转换,是属于何种自定义区域内的。  具有标注功能,用橙红色标注某个结点或者转换线,一般用在展示流程进度时。  能直接双击结点、连线、分组区域的文字进行编辑  在对结点、连线、分组区域的各种编辑操作,如新增/删除/修改名称/重设样式或大小/移动/标注时,均可捕捉到事件,并触发自定义事件,如果自定义事件执行的方法返回FALSE,则会阻止操作。  具有操作事务序列控制功能,在工作区内的各种有效操作都能记录到一个栈,然后可以进行撤销(undo())或重做(redo()),像典型的C/S软件一样。  0.4版,加入了只导出在初始载入后被编辑的流程图,只作了增删改等变更的元素,这样可用于用户快速存储,只保存本次变更过的内容,不用重新保存整个流程。  0.5版,结点的样式不再受到原有程序的限制,所有样式均默认为淡蓝色长方形;如果要指定为圆形,可在初始化时定义结点型为”原有型”+” round”;如果要指定为复合结点,则可在初始化时定义结点型为”原有型”+” mix”。”原有型”+” myType”:myType可为自己写的一种特殊样式.  0.6版,修正了一些BUG,改善了用户操作体验,并增加在可编辑状态下时,能用键盘上DELETE按键对元素进行删除功能。  0.7版,修正了一些BUG,增加了连线变更要连的起始结点或结束结点的功能。  0.8版,取消原来的拟物化页面,变成如今的扁平化页面,并且支持主要位置的颜色自定义功能(如果想沿用原来老版本的拟物化页面,只需保留原来的GooFlow.css文件即可);修正0.7版的画线BUG。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值