JS 项目拾粹 一: Mind elixir 一个免费开源的思维导图内核

一个浏览器的思维导图 JS 内核。下列是它的 github 入门文档

Mind elixir 是一个免费开源的思维导图内核

立即试用

mindelixir.ink/#/

在项目中使用

安装

NPM

npm i mind-elixir -S
import MindElixir, { E } from 'mind-elixir'

script 标签引入

<script src="https://cdn.jsdelivr.net/npm/mind-elixir/dist/mind-elixir.js"></script>

HTML 结构

<div class="outer">
  <div id="map"></div>
</div>
<style>
  .outer {
    position: relative;
    margin: 50px;
  }
  #map {
    height: 500px;
    width: 100%;
    overflow: auto;
  }
</style>

初始化

let mind = new MindElixir({
  el: '#map',
  direction: MindElixir.LEFT,
  // 创建新数据
  data: MindElixir.new('new topic'), 
  // 也使用 getDataAll 得到的数据
  data: {...},
  draggable: true, // 启用拖动 default true
  contextMenu: true, // 启用右键菜单 default true
  toolBar: true, // 启用工具栏 default true
  nodeMenu: true, // 启用节点菜单 default true
  keypress: true, // 启用快捷键 default true
})
mind.init()

// get a node
E('node-id')

Data Export

mind.getAllData()
// see src/example.js

使用提示

direction 选项

direction 选项可选 MindElixir.LEFTMindElixir.RIGHTMindElixir.SIDE

HTML 结构

挂载的目标需要定宽高,可以是百分百;外层元素建议设置 position: relative;,否则菜单位置以视窗为标准分布。

E 函数

在使用节点操作方法时需要传入的参数可以借助 E 函数获得。

mind.insertSibling(E('bd4313fbac40284b'))

文档

inspiring-golick-3c01b9.netlify.co...

依赖

hotkeys-js

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

快捷键还不错,

  • 子节点: tab
  • 兄弟节点 enter
  • 移除节点 delete
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!