一、Mxgraph介紹:
mxGraph 是一個 JS 繪圖組件適用於需要在網頁中設計/編輯 Workflow/BPM流程圖、圖表、網絡圖和普通圖形的 Web 應用程序。mxgraph 下載包中包括javescript 寫的前端程序,也包括多個和后端程序(java/C#等等)集成的例子。
git開源項目地址:https://github.com/jgraph/mxgraph
mxGraph資源包及其例子可下載地址:mxGraph下載
解壓並打開mxGraph\devel\source\src\js,視圖如下所示:
這是mxGraph的核心文件。
二、mxgraph核心文件介紹:
這個js庫包含8大塊。mxClient這個js包含並動態導入了所有文件。 當前版本信息存儲在mxClient.VERSION。
editor編輯器包提供實現圖編輯器所需的類。這個包中的主要類是mxEditor。
view視圖和model模型包實現了由mxGraph表示的圖形組件。它是一個mxGraphModel,包含mxcell,以及mxGraphView中緩存單元格的狀態。根據mxStylesheet.樣式表中定義的外觀,使用mxcell渲染器來繪制單元格。撤銷歷史在mxUndoManager中實現。要在圖上顯示一個圖標,可以使用mxCellOverlay。驗證規則使用 mxMultiplicity進行定義。
handler處理程序、layout 布局和shape 形狀包分別包含事件監聽器、布局算法和形狀。圖形事件監聽器包括mxRubberband進行框線選擇、mxTooltipHandler用於工具提示和mxGraphHandle用於基本單元格修改。mxCompactTreeLayout 實現了樹布局算法,而shape 形狀包提供了各種形狀,它們是mxShape的子類。
util包提供了實用程序類,包括用於復制粘貼的mxClipboard、mxDatatransfer用於拖放的操作、mxConstants 用於鍵的和樣式表的值、mxEvent和mxUtils用於跨瀏覽器事件處理和通用功能、用於國際化的mxResources和控制台輸出的mxLog。
io包實現了一個通用的mxObjectCodec,用於將JavaScript對象轉換為XML。最主要的類是mxCodec。mxCodecRegistry是定制codecs的全局注冊表。