1.0.3 • Published 4 years ago

gl-datatree v1.0.3

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

简介

数据可视化方面,二维方面的组件早已形成一个完整、成熟的体系;各类图表库层出不穷。 在三维方面,无论表达形式还是交互方式,都十分灵活,有着很大的拓展空间; 在三维世界里面,数据可视化要形成一个完整的体系,还需要很多探索。

gl-datatree 组件也许并不是一个很好的解决方案,但是一次不错的尝试。

API

  • init

    接收参数返回内容
    HTMLElementobject(setOption、updateTooltip、dispose)
  • setOption

    属性类型介绍是否必须
    titlestring组件标题
    dataarray见下面的 data type
    autoRotateboolean场景自动旋转否(默认 false)
    autoPlayboolean图例自动轮播否(默认 false)
    playIntervalnumber自动轮播间隔时常(毫秒)否(默认 3000)
    listeningobject回调监听事件 见下面 listening type

    data type

    属性类型介绍是否必须
    labelstring节点名称
    idstring number节点 ID
    pidstring number节点父级 ID
    childrenarray子节点数据
    positionobject自定义节点位置(第一个节点默认(0, 10, 0))

    listening type

    属性类型介绍是否必须
    onSelectedfunction (userData: object, domPosition: DomPositionType) => void鼠标移动到节点的回调

    DomPositionType

    属性类型介绍是否必须
    xnumber三维对象映射到 document body 的 x 方向实际位置
    ynumber三维对象映射到 document body 的 y 方向实际位置
    offsetXnumber显示 tooltip 的 x 方向偏移量否(默认值 20)
    offsetYnumber显示 tooltip 的 y 方向偏移量否(默认值 15)

    position type

    属性类型介绍是否必须
    xnumber三维对象 x 轴位置
    ynumber三维对象 y 轴位置
    znumber三维对象 z 轴位置

    showData type

    属性类型介绍是否必须
    labelstring标签
    valuestringnumber标签对应的值
  • updateTooltip 类型: function 接收参数: title 图例标题 showData 图例数据(Array) 见 showData type domPosition 图例位置 功能: 更新内置 tooltip

  • dispose 类型: function 功能: 释放组件内部对象

use

📦 安装

npm install gl-datatree --save
yarn add gl-datatree

🔨 示例

你可以参考 github example 的示例

import GlDataTree from 'gl-datatree';
// 实例化
const glTree = new GlDataTree().init(HTMLElement);
glTree.setOption({
  title: '组织架构树',
  data: orgTree, // 节点数据
  autoRotate: false,
  autoPlay: true,
  listening: {
    onSelected: (userData, domPosition) => {
      const showData = []; // userData数据自定义处理
      // 你也可以不使用 updateTooltip 方法 创建自己的tooltip
      glTree.updateTooltip({
        title: userData.label,
        showData,
        domPosition,
      });
    },
  },
});
// 销毁
glTree.dispose();

future

  • 未来有可能提供的功能

    场景切换 、多种类节点位置计算方案、更多的事件监听、节点/连线样式自定义配置……

  • 未来可能提供的其他组件

    3D 全方位雷达图、3D 拓扑图 、场景化抽象数据展示等

github

Jared