使用mxGraph绘制流程图
生活随笔
收集整理的這篇文章主要介紹了
使用mxGraph绘制流程图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mxGraph是一個強大的JavaScript流程圖前端庫,可以快速創建交互式圖表和圖表應用程序,國內外著名的ProcessOne和draw.io都是使用該庫創建的強大的在線流程圖繪制網站.
這個庫相當強大和復雜,以至于初次接觸會無從下手,不過官方的文檔是相當強大和完善的,還有眾多的示例可以參考,因此,做出簡單的效果是沒有問題的,我主要介紹一下我自己在項目中遇到的問題。
- 1.HTML元素作為流程圖元素
在項目中,我們要實現如下所示的流程圖。每個節點左側是圖標,中間是文字描述,右側是狀態展示,這種樣式使用HTML是很好處理的,那么在mxGraph中節點可以使用HTML嗎,當然是可以的。
首先,我們需要設置使用HTML標簽
然后,在創建cell的時候傳入HTML,大小,以及樣式即可,如下:
var style = 'text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;';var html = '<table class="cellTable">' +' <tr>' +' <td>' +' <div class="cellIcon"><div></div></div>' +' </td>' +' <td class="cellLabel"></td>' +' <td class="cellState"><i class="fa"></i></td>' +' </tr>' +' </table>'; //創建cellvar cell = new mxCell(html, new mxGeometry(0, 0, 293, 89), style);cell.vertex = true;使用HTML元素作為節點,可以很好的控制樣式,而且HTML節點也能很方便的添加事件和其他操作,十分方便。
- 2.流程圖自動布局
mxGraph提供了多種流程圖布局算法,常用緊湊樹布局算法即可,即
new mxCompactTreeLayout(graph);
不過這種算法只針對只有一個根節點的,對于這種有多個節點的,如下面這種:
則需要使用另外的算法來完成布局:
通過根節點的數量來選擇不同的布局算法,以上。
又爛尾了,寫不下去,綜上,可以用HTML節點,以及根節點數量不同要選用不同的布局算法。
總結
以上是生活随笔為你收集整理的使用mxGraph绘制流程图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云服务器配置ftp、企业官网、数据库等方
- 下一篇: Destoon采集翻译伪原创发布工具