; (
function
() {
window.nodeFlow = {
init:
function
() {
// 设置点、线的默认样式
jsPlumb.importDefaults({
DragOptions: { cursor:
'pointer'
, zIndex: 2000 },
Endpoint: [
"Dot"
, { radius: 1 }],
HoverPaintStyle: { strokeStyle:
"#42a62c"
, lineWidth: 2 },
ConnectionOverlays: [
[
"Arrow"
, { location: -7, id:
"arrow"
, length: 14, foldback: 0.8 }],
[
"Label"
, { location: 0.1, id:
"label"
}]
]
});
// 连接事件
jsPlumb.bind(
"jsPlumbConnection"
,
function
(conn, originalEvent) {
if
(conn.connection.sourceId == conn.connection.targetId) {
jsPlumb.detach(conn);
alert(
"不能连接自己!"
);
}
$.each(jsPlumb.getEndpoints(conn.source),
function
(i, el) {
if
(conn.connection != el.connections[0] &&
(el.connections[0].targetId == conn.targetId || (el.connections[0].sourceId == conn.targetId && el.connections[0].targetId == conn.sourceId))) {
jsPlumb.detach(conn);
alert(
"不能重复连接!"
);
return
false
;
}
});
nodeFlow.onConnectionChange && nodeFlow.onConnectionChange(conn);
conn.connection.bind(
"editCompleted"
,
function
(o) {
if
(
typeof
console !=
"undefined"
)
console.log(
"connection edited. path is now "
, o.path);
});
});
// 取消连接事件
jsPlumb.bind(
"jsPlumbConnectionDetached"
,
function
(conn) {
nodeFlow.onConnectionChange && nodeFlow.onConnectionChange(conn);
});
// 双击取消连接
jsPlumb.bind(
"dblclick"
,
function
(conn, originalEvent) {
jsPlumb.detach(conn);
});
// 连接的元素
// 本例中.node既是源头又是目标
var
nodeList = $(
".node"
);
nodeList.each(
function
(i, e) {
// 设置连接的源元素
jsPlumb.makeSource($(e), {
filter:
".ep"
,
// .ep元素用于拖动连接
anchor:
"Continuous"
,
connector: [
"Flowchart"
, { curviness: 20 }],
// 连接的方式为流程图
connectorStyle: { strokeStyle:
"#014ae1"
, lineWidth: 2 },
maxConnections: -1
// 最大连接数不限
});
});
// 设置连接目标
jsPlumb.makeTarget(nodeList, {
dropOptions: { hoverClass:
"dragHover"
},
anchor:
"Continuous"
});
// 初始化所有连接元素为可拖动
jsPlumb.draggable(nodeList);
}
};
})();
相关推荐
主要在学习jsplumb过程中利用jqueryUI、bootstrap等资源改版的web版在线流程设计器。 有启发 可参考 详情效果图参考地址:https://blog.csdn.net/hexin8888/article/details/83992816
easy-flow 基于VUE+ElementUI+JsPlumb的流程设计器,通过 vuedraggable 插件来实现节点拖拽。支持拖拽添加节点。点击线进行设置条件。支持给定数据加载流程图。支持画布拖拽。支持连线样式、锚点、类型自定义覆盖。...
基于VUE+JsPlumb的流程设计器源码.zip基于VUE+JsPlumb的流程设计器源码.zip基于VUE+JsPlumb的流程设计器源码.zip基于VUE+JsPlumb的流程设计器源码.zip基于VUE+JsPlumb的流程设计器源码.zip基于VUE+JsPlumb的流程设计...
史上最完整jsPlumb流程图实例,初始化流程图,添加删除移动节点,修改节点名称,添加删除连接线,以及保存所有节点连接线等功能!
Unigui jsPlumb Demo流程图.rar
主要在学习jsplumb过程中利用jqueryUI、bootstrap等资源改版的web版在线流程设计器。详情效果图参考地址:https://blog.csdn.net/hexin8888/article/details/83992816
jsPlumb+jquery 流程图设计实例,可以直接只用,业务代码还需自己添加修改
基于vue框架开发的jsPlumb流程图项目,可拖拽生成节点,修改节点内容和图标。 插件版本: "element-ui": "^2.11.1", "jsplumb": "^2.11.2", "vue": "^2.5.2
使用 jsPlumb 绘制拓扑图的通用方法
基于web的流程设计器,jsplumb+jqueryUI实现,支持拖拽功能,支持主流浏览器,可用于二次开发。
使用 JsPlumb 的流程图编辑器 下载项目 打开 jquery.html 使用菜单形状将它们添加到工作面板。 使用保存按钮将流程图保存为 json 您还可以将 json 传递到文本 erea 并使用加载按钮重绘流程图。 您可以随意使用...
基于Silverlight 3+VS2008开发实现的流程设计器 (附源码)
一个非常好用的实用工具,.net+jsPlumb+jquery流程图设计实例
jsplumb-example demos: Use Jsplumb draw flow chart 简易jsplumb项目,实现基本流程图功能 For a detailed explanation on how things work, check out the and .
easy-flow 基于VUE+ElementUI+JsPlumb的流程设计器,通过 vuedraggable 插件来实现节点拖拽。支持拖拽添加节点,点击线进行设置条件,支持给定数据加载流程图,支持画布拖拽,支持连线样式、锚点、类型自定义覆盖,...
jsPlumbToolkit.js收费流程图控件,已经破解可以直接使用。
jsplumb- 基于jsplumb制作的拖拽流程图,自动生成json数据,也可以根据后台的json数据自动的渲染页面,外框架是基于H+的一个外壳,有喜欢的可以看一下
功能:通过使用jsPlumb库,实现了一个简单的流程图编辑器。用户可以通过拖拽节点和连接线来创建和编辑流程图。同时,该示例还使用了JsRender模板引擎、jquery、jquery-ui和bootstrap图标等插件。 能做到什么: 1. ...
JsPlumb让网络拓扑图流程不再难,可以用jquery也可以用原声js,非常长棒的js类,用于点线链接等都不错,这是提供一个例子,让大家有个思路