sun0991 / butterfly

🎉JavaScript Diagramming library which concentrate on flow layout canvas

Home Page:https://noonnightstorm.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

一个基于JS的数据驱动的节点式编排组件库

Build Status CircleCI npm package NPM downloads Dependencies DevDependencies

English | 简体中文

✨ 特性

  • 开箱即用的参考DEMO,可在线调试
  • 全方位管理画布,开发者只需要更专注定制化的需求
  • 利用dom来定制元素;灵活性,可塑性,拓展性优秀

📦 安装

npm install butterfly-dag

🔨 快速上手

生成画布

const Canvas = require('butterfly-dag').Canvas;
let canvas = new Canvas({
  root: dom,              //canvas的根节点(必传)
  zoomable: true,         //可缩放(可传)
  moveable: true,         //可平移(可传)
  draggable: true,        //节点可拖动(可传)
});
canvas.draw({
  groups: [],  //分组信息
  nodes: [],  //节点信息
  edges: []  // 连线信息
})

定制元素(节点组,节点,线,锚点)

// 定制节点
const Node = require('butterfly-dag').Node;
class ANode extend Node {
  draw() {
    // 这里定制您需要的节点并返回一个dom
    let div = document.createElement("div"); 
    div.innerHTML('helloworld');
    return div
  }
}

// 定制节点组
const Group = require('butterfly-dag').Group;
class AGroup extend Group {
  draw() {
    // 这里定制您需要的节点组并返回一个dom
    let container = document.createElement("div"); 
    container.className = 'container';
    let title = document.createElement('p');
    title.innerHTML = 'group name'
    container.appendChild(title);
    return container;
  }
}

// 线,锚点如此类推,请看具体文档

🔗 API文档

🤝贡献

小蝴蝶是一个完全开源的项目,我们欢迎大家为修复错误和改进做出贡献。有关如何开始的信息,请阅读我们的贡献指南.

About

🎉JavaScript Diagramming library which concentrate on flow layout canvas

https://noonnightstorm.github.io

License:MIT License


Languages

Language:JavaScript 98.0%Language:CSS 2.0%