0.1.1 • Published 2 months ago

canvas-orgchart v0.1.1

Weekly downloads
4
License
ISC
Repository
github
Last release
2 months ago

Canvas-OrgChart

使用 canvas 绘制组织结构图.

Installation

Install with npm

$ npm install canvas-orgchart

Usage

Instantiation Statement

<canvas id="canvas"></canvas>
import CanvasOrgChart from 'canvas-orgchart'

const canvas = document.getElementById('canvas')
const canvasOrgChart = new CanvasOrgChart(canvas, options)

canvasOrgChart.render(data)

Structure of Datasource

{
  name: 'self', // necessary.
  sex: 0,
  children: [ // necessary and must be an array.
    {
      name: 'son',
      sex: 0,
      children: []
    }
    ...
  ]
}

Options

NameTypeDefaultDescription
widthnumber0Canvas 宽度,填 0 时自动计算宽度。
heightnumber0Canvas 高度,填 0 时自动计算高度。
paddingarray0, 0, 0, 0Canvas 内边距,和 CSS padding 类似。
backgroundstringtransparentCanvas 背景颜色。
lineColorstringblack组织结构图中连接线的颜色。
nodeobject节点样式。
node.widthnumber0节点宽度。
node.heightnumber0节点高度。
node.spacingarray20, 20节点与节点间的距离。
node.radiinumber8节点边角的弧度半径。
node.backgroundstringwhite节点背景颜色。
node.borderColorstringblack节点边框颜色。
node.avatarobject | nullnull节点头像样式。
node.avatar.urlstring节点头像图片 url 地址。
node.avatar.offsetXnumber0头像在水平方向上的偏移量。
node.avatar.offsetYnumber0头像在垂直方向上的偏移量。
node.avatar.widthnumber0头像宽度。
node.avatar.heightnumber0头像高度。
node.avatar.circlebooleanfalse是否为圆框头像。
node.nameobject | nullnull节点名字样式。
node.name.offsetXnumber0文字在水平方向上的偏移量。
node.name.offsetYnumber0文字在垂直方向上的偏移量。
node.name.colorstringblack文字颜色。
node.name.fontstring文字样式。
node.name.textAlignstringcenter文字水平方向上的对齐方式。
node.descsobject | nullnull节点描述区域样式。
node.descs.heightnumber0描述区域高度。
node.descs.backgroundstringblack描述区域背景颜色。
node.descs.fontstring文字样式。
node.descs.textAlignstringcenter文字水平方向上的对齐方式。
node.descs.offsetobject[][]描述区域文字的偏移量。
node.descs.offset.offsetXnumber0文字在水平方向上的偏移量。
node.descs.offset.offsetYnumber0文字在垂直方向上的偏移量。

Options Example

options = {
  width: 0,
  height: 0,
  padding: [20],
  background: '',
  lineColor: 'black',
  node: {
    width: 100,
    height: 100,
    spacing: [20, 20],
    radii: 8,
    background: 'white',
    borderColor: 'black',
    avatar: {
      url: '',
      offsetX: 0,
      offsetY: 0,
      width: 0,
      height: 0,
      circle: false
    },
    name: {
      offsetX: 0,
      offsetY: 50,
      color: 'black',
      font: '14px sans-serif',
      textAlign: 'center',
    },
    descs: {
      height: 0,
      color: 'black',
      background: 'white',
      font: '12px sans-serif',
      textAlign: 'center',
      offset: [
        {
          offsetX: 0,
          offsetY: 100,
        },
        {
          offsetX: 0,
          offsetY: 200,
        }
      ]
    },
  },
}

Methods

NameParamsReturnsDescription
renderdataundefined渲染组织结构图。
addEventListenerevent, callBackundefined注册事件监听器,当触发指定事件时,对应的回调函数被执行。目前仅支持 select 事件。
removeEventListenerevent, callBackundefined注销事件监听器。

Screenshots

npm.io

0.1.0

2 months ago

0.1.1

2 months ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago