关于自己写的流程设计随笔记录(mxGraph)

本文记录了使用mxGraph库进行流程设计的过程,包括创建流程入口、节点双击事件、获取和保存流程信息、弹框显示节点详情、插入和删除节点的操作。在实现过程中,特别提到按delete键删除节点可能遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

 1.流程创建入口;

   a.在创建入口之前,定义当前被选中节点信息currentEditor和当前流程图信息currentGraph(后面保存和编辑会用到);

   b.定义容器container, 上侧工具栏容器outline,上侧工具栏的逻辑效果 toolbar,左边工具栏拖动 sidebar, 当前节点信息status;

   c.封装左侧图标的拖到函数,在拖动时,创建节点的第一个节点,var parent = graph.getDefaultParent(),然后获取数据graph.getModel(),最终在画布上展示    model.beginUpdate(),设置当前添加节点的样式graph.setSelectionCell(v1);

    

   2.给每个节点增加双击事件

    

   3.获取当前流程信息  

   currentEditor.writeGraphModel();

 4.双击打开当前节点信息弹框,获取当前节点信息,比如:

   parent.currentEditCells[0].name

5.保存当前节点中信息,比

好的,这里给您提供一个简单的 Vue + mxGraph 实现流程图编辑的示例: 1. 安装 mxgraph-vue ``` npm install mxgraph-vue ``` 2. 在 Vue 组件中引入 mxgraph-vue ```vue <template> <div> <mxgraph ref="graph" v-bind:config="config" v-bind:editor-config="editorConfig"></mxgraph> </div> </template> <script> import mxgraph from 'mxgraph-vue'; export default { components: { mxgraph }, data() { return { config: { // 配置 mxGraph 的一些属性 // 可以参考 mxgraph-vue 的文档:https://github.com/jgraph/mxgraph-vue }, editorConfig: { // 配置 mxGraph 编辑器的一些属性 // 可以参考 mxgraph-vue 的文档:https://github.com/jgraph/mxgraph-vue } } }, mounted() { // 初始化 mxGraph this.$refs.graph.init(() => { // 在这里可以进行一些初始化操作 }); } } </script> ``` 3. 实现流程图的编辑功能 ```vue <template> <div> <mxgraph ref="graph" v-bind:config="config" v-bind:editor-config="editorConfig"></mxgraph> </div> </template> <script> import mxgraph from 'mxgraph-vue'; export default { components: { mxgraph }, data() { return { config: { // 配置 mxGraph 的一些属性 // 可以参考 mxgraph-vue 的文档:https://github.com/jgraph/mxgraph-vue }, editorConfig: { // 配置 mxGraph 编辑器的一些属性 // 可以参考 mxgraph-vue 的文档:https://github.com/jgraph/mxgraph-vue graphModel: { // 设置默认的节点和边的样式 defaultVertexStyle: { shape: 'rectangle', fontSize: 14, fontColor: '#000000', fillColor: '#ffffff', strokeColor: '#000000', strokeWidth: 1, rounded: true, }, defaultEdgeStyle: { shape: 'connector', fontSize: 12, fontColor: '#000000', strokeColor: '#000000', strokeWidth: 1, rounded: true, } } } } }, mounted() { // 初始化 mxGraph this.$refs.graph.init(() => { // 创建节点 const node1 = this.$refs.graph.addNode('节点1', 100, 100, 100, 50); const node2 = this.$refs.graph.addNode('节点2', 300, 100, 100, 50); const node3 = this.$refs.graph.addNode('节点3', 500, 100, 100, 50); // 创建边 this.$refs.graph.addEdge('边1', node1, node2); this.$refs.graph.addEdge('边2', node2, node3); }); } } </script> ``` 以上示例代码仅供参考,您可以根据自己的需求进行修改和扩展。希望能对您有所帮助!
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值