orgChart.js

今天使用orgChart沒有找到合適的,所以今天來寫篇使用文檔。

OrgChart.js是什么?

基于ES6的組織結構圖插件。

特征

支持本地數(shù)據(jù)和遠程數(shù)據(jù)(JSON)。

基于CSS3過渡的平滑擴展/折疊效果。

將圖表對齊為4個方向。

允許用戶通過拖放節(jié)點更改組織結構。

允許用戶動態(tài)編輯組織圖并將最終層次結構保存為JSON對象。

支持將圖表導出為圖片。

支持平移和縮放

用戶可以采用多種解決方案來構建龐大的組織結構圖(請參考多層或混合布局部分)

支持觸摸的移動設備插件

使用

<link rel="stylesheet" href="../css/jquery.orgchart.css">

<script type="text/javascript" src="../js/jquery.orgchart.js"></script>

下載地址
https://github.com/dabeng/OrgChart
案例

1.本地直接生成

hrml代碼

  <div id="chart-container"></div>

js代碼

(function($){
  $(function() {
    var datascource = {
      'name': 'Lao Lao',
      'title': 'general manager',
      'children': [
        { 'name': 'Bo Miao', 'title': 'department manager' },
        { 'name': 'Su Miao', 'title': 'department manager',
          'children': [
            { 'name': 'Tie Hua', 'title': 'senior engineer' },
            { 'name': 'Hei Hei', 'title': 'senior engineer',
              'children': [
                { 'name': 'Pang Pang', 'title': 'engineer' },
                { 'name': 'Xiang Xiang', 'title': 'UE engineer' }
              ]
            }
          ]
        },
        { 'name': 'Yu Jie', 'title': 'department manager' },
        { 'name': 'Yu Li', 'title': 'department manager' },
        { 'name': 'Hong Miao', 'title': 'department manager' },
        { 'name': 'Yu Wei', 'title': 'department manager' },
        { 'name': 'Chun Miao', 'title': 'department manager' },
        { 'name': 'Yu Tie', 'title': 'department manager' }
      ]
    };
    $('#chart-container').orgchart({
      'data' : datascource, //數(shù)據(jù)
      'nodeContent': 'title' //內容對應的字段
    });
  });
})(jQuery)

效果如下:

menu.saveimg.savepath20181019170850.jpg

選項

名稱 類型 必需 默認 描述
data json or string yes 數(shù)據(jù)源用于構建組織結構圖。 它可以是json對象或包含ajax請求發(fā)送到的URL的字符串。
pan boolean no false 如果用戶啟用此選項,則用戶可以通過鼠標拖放來平移組織結構圖。
zoom boolean no false 如果用戶啟用此選項,用戶可以通過鼠標滾輪縮放/縮小組織結構圖。
zoominLimit number no 7 允許用戶設置放大限制。
zoomoutLimit number no 0.5 允許用戶設置縮小限制。
direction string no "t2b" 可用值是t2b(暗示“從上到下”,它是默認值),b2t(暗示“從下到上”),l2r(暗示“從左到右”),r2l(暗示“從右到左”)。
verticalLevel integer(>=2) no 用戶可以使用此選項從指定級別垂直對齊節(jié)點。
toggleSiblingsResp boolean no false 啟用此選項后,用戶可以通過單擊左/右箭頭分別顯示/隱藏左/右兄弟節(jié)點。
nodeTitle string no "name" 它將datasource的一個屬性設置為orgchart節(jié)點的title部分的文本內容。 實際上,用戶可以創(chuàng)建一個只有nodeTitle選項的簡單orghcart。
nodeId string no "id" 它將datasource的一個屬性設置為每個orgchart節(jié)點的唯一標識符。
parentNodeSymbol string no "fa-users" 使用font awesome圖標表示該節(jié)點具有子節(jié)點。
ajaxURL json no 它包括四個特性 ,父母,孩子,兄弟姐妹,家庭(要求父節(jié)點和兄弟節(jié)點)。 顧名思義,不同的propety提供了發(fā)送不同節(jié)點的ajax請求的URL。
nodeContent string no 它將數(shù)據(jù)源的一個屬性設置為orgchart節(jié)點的內容部分的文本內容。
nodeTemplate function no 它是一個模板生成函數(shù),用于定制任何復雜的節(jié)點內部結構。 它只收到一個參數(shù):“data”代表json datasoure,它將用于渲染一個節(jié)點。
createNode function no 它是一個用于自定義每個orgchart節(jié)點的回調函數(shù)。 它收到兩個參數(shù):“$node”代表單節(jié)點div的jquery對象; “data”代表單個節(jié)點的數(shù)據(jù)源。
exportButton boolean no false 它啟用了orgchart的導出按鈕。
exportFilename string no "Orgchart" 將當前組織圖導出為圖片時,它是文件名。
visibleLevel positive integer no 它表示在最開始的orgchart擴展到的級別。
exportFileextension string no "png" 可用值為png和pdf。
chartClass string no "" 當您想在一個頁面上實例化多個組織結構圖時,您應該為它們添加不同的類名以區(qū)分它們。
draggable boolean no false 如果用戶啟用此選項,則可以拖放orgchart的節(jié)點。 注意:由于對HTML5拖放API的支持不足,此功能在IE上不起作用。
dropCriteria function no 用戶可以構建自己的標準來限制拖動節(jié)點和放置區(qū)域之間的關系。 此外,此函數(shù)接受三個參數(shù)(draggedNode,dragZone,dropZone),只返回boolen值。
initCompleted function no 了解表的完全初始化,數(shù)據(jù)加載和呈現(xiàn)的時間通常很有用,尤其是在使用ajax數(shù)據(jù)源時。 它收到了一個參數(shù):“$chart”代表初始化圖表的jquery對象。

方法
在制定容器加入組織架構圖:
var oc = $container.orgchart(options);

組織架構圖初始化和重載:
init(newOptions)

為當前組織架構圖添加父節(jié)點:
.addParent(root,data)
-root:dom節(jié)點,默認指向根節(jié)點,用于覆蓋出事選項
-data:json對象,用于構建根節(jié)點的數(shù)據(jù)源

為指定節(jié)點添加兄弟節(jié)點:
.addSiblings(node,data)
-node:dome節(jié)點,基于此節(jié)點添加兄弟節(jié)點
-data:用于構建兄弟節(jié)點的數(shù)據(jù)源

為制定節(jié)點添加子節(jié)點
.addChildren(node,data)
-node:dome節(jié)點,基于此節(jié)點添加子節(jié)點
-data:用于構建子節(jié)點的數(shù)據(jù)源

刪除指定節(jié)點
.removeNodes(node)
-node:dome節(jié)點,要刪除的

獲取orgchart的層次結構關系,例如,在編輯組織結構圖之后,您可以將此方法的返回值發(fā)送到服務器端并保存orghcart的新狀態(tài)。
.getHierarchy()

以編程方式隱藏任何特定節(jié)點(.node元素)的子節(jié)點
##### .hideChildren(node)

以編程方式顯示任何特定節(jié)點(.node元素)的子節(jié)點
.showChildren(node)

以編程方式隱藏任何特定節(jié)點(.node元素)的兄弟節(jié)點
.hideSiblings(node,direction)

以編程方式顯示任何特定節(jié)點(.node元素)的兄弟節(jié)點
.showSiblings(node,direction)

此方法返回相關節(jié)點的顯示狀態(tài)
.getNodeState(node,relation)

返回與指定節(jié)點相關的節(jié)點
getRelatedNodes($node, relation)

用于放大縮小圖表
setChartScale($chart, newScale)

許您將當前組織結構導出為png或pdf文件
export(exportFilename, exportFileextension)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,185評論 3 119
  • Mac 工具篇 Charles破解方法: Charles破解方法 唐巧·Charles 從入門到精通Tips: ...
    深山問閱讀 185評論 0 0
  • 在服務器啟動的時候, 當前服務器是master-server, 不能rpc調用 appUtil.js 中的 loa...
    抓不住的風閱讀 1,523評論 0 1
  • 趨利避害是人類的天性。 當某件事情,沒有按照預期的結果完成時,我們會習慣性的把它歸于外界方面的原因。不由自主的撇開...
    心有所愿閱讀 696評論 0 3

友情鏈接更多精彩內容