html实现流程设计器,Jquery+jsPlumb实现流程图设计器

该博客介绍了如何使用Jquery和jsPlumb库在HTML中实现一个流程设计器。通过DragFlowInit.js的核心代码,展示了如何初始化流程图,设置元素拖动,创建和删除连接,以及处理节点的右键菜单和双击事件。此外,还提到了元素的可拖拽性、源节点、目标节点的设置,以及连线的样式和行为。
摘要由CSDN通过智能技术生成

核心代码如下

/*

*  DragFlow初始化类,主要包括:

*  1、初始化流程默认显示样式;

*  2、解析流程步骤及步骤关系;

*  3、设置所有元素的可拖拽性、目标节点、源节点等

*  4、设置右键菜单;

*  Author:bruced

*  date:2013.04.22

*/

DragFlowInit.js

(function () {

window.DragFlow = {

init: function () {

// jsplum默认样式

jsPlumb.importDefaults({

DragOptions: { cursor: "pointer", zIndex: 2000 },

HoverClass: "connector-hover",

HoverPaintStyle: { strokeStyle: "#7ec3d9" },

PaintStyle: {

lineWidth: 1,

strokeStyle: "black"

},

ConnectorZIndex: 10

});

DragFlow.createConnectionRef();

//设置元素拖动

jsPlumb.draggable(jsPlumb.getSelector(".window"));

// 设置所有节点的右键菜单

//DragFlow.makecontextmenu("", true);

// 连线单击事件

jsPlumb.bind("click", function (connection, originalEvent) {

//存在样式结果执行

if (connection.getOverlay("label") != null) {

                    // connection.getOverlay("label").setLabel("" + connection.sourceId);

}

else {//不存在样式对象,则动态创建

//connection.overlays = overlay;

//alert(connection.getOverlay("label"))

connection.addOverlay(DragFlow.overlay(""), "");

                    //connection.getOverlay("label").setLabel("" + connection.sourceId);

}

var type = $("#" + connection.targetId).attr("itemtype");

// alert(type);

});

//连接元素事件

$(".ep").unbind("mouseove

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值