@zxr3680166/simple-mind-map
Version:
一个简单的web在线思维导图
83 lines (75 loc) • 3.15 kB
JavaScript
import MindMap from './index'
import MiniMap from './src/plugins/MiniMap.js'
import Watermark from './src/plugins/Watermark.js'
import KeyboardNavigation from './src/plugins/KeyboardNavigation.js'
import ExportXMind from './src/plugins/ExportXMind.js'
import ExportPDF from './src/plugins/ExportPDF.js'
import Export from './src/plugins/Export.js'
import Drag from './src/plugins/Drag.js'
import Select from './src/plugins/Select.js'
import AssociativeLine from './src/plugins/AssociativeLine'
import RichText from './src/plugins/RichText'
import NodeImgAdjust from './src/plugins/NodeImgAdjust.js'
import TouchEvent from './src/plugins/TouchEvent.js'
import Search from './src/plugins/Search.js'
// import Painter from './src/plugins/Painter.js'
import Scrollbar from './src/plugins/Scrollbar.js'
import Formula from './src/plugins/Formula.js'
import xmind from './src/parse/xmind.js'
import markdown from './src/parse/markdown.js'
import icons from './src/svg/icons.js'
import * as constants from './src/constants/constant.js'
import themes from './src/themes/index.js'
import * as defaultTheme from './src/themes/default.js'
// import { themeList } from './src/constants/constant.js';
// console.log('themeList111111', themeList);
MindMap.xmind = xmind
MindMap.markdown = markdown
MindMap.iconList = icons.nodeIconList
MindMap.constants = constants
// MindMap.themeList = themeList
MindMap.themes = themes
MindMap.defaultTheme = defaultTheme
// 自定义挂载
import exampleData from './example/exampleData'
MindMap.exampleData = exampleData
// import { simpleDeepClone, isUndef, getImageSize } from './src/utils/index'
// MindMap.utils = {
// simpleDeepClone: simpleDeepClone,
// isUndef: isUndef,
// getImageSize: getImageSize,
// };
import * as utils from './src/utils/index.js'
MindMap.utils = utils
MindMap
.usePlugin(MiniMap)
.usePlugin(Watermark)
.usePlugin(Drag)
.usePlugin(KeyboardNavigation)
.usePlugin(ExportXMind)
.usePlugin(ExportPDF)
.usePlugin(Export)
.usePlugin(Select)
.usePlugin(AssociativeLine)
.usePlugin(RichText) // todo 富文本插件,目前会影响功能节点运行,文本带了 html 标签,需要处理
.usePlugin(TouchEvent)
.usePlugin(NodeImgAdjust)
.usePlugin(Search)
// .usePlugin(Painter)
.usePlugin(Scrollbar)
.usePlugin(Formula)
export default MindMap
// 思维导图上线步骤
// 1. 打包 umd 文件 npm run buildLibrary,移动到 fronted 的 lib 文件夹下
// 1.1 /node_modules/.vite/ 下的文件夹也要删除,否则更新不了
// 2. 注释 Edit.vue 中的 import MindMap from 'simple-mind-map'...、 MindMap.usePlugin(Select)...、customThemeList.forEach、 new MindMap...
// 3. 打包 fronted 文件 npm run build,上传 dist 到服务器
// 4. 重启服务器
// 与官方最大差异:
// 1、自定义挂载
// 2、event.js 中的事件处理(Mac 触摸屏)
// 3、view.js view_data_change 触发条件
// 4、render.js 中 3 处功能节点相关
// 5、一些事件监听 passive: false
// nodeCreateContents.js 中点击特殊图标事件(功能节点)
// drag.js e.preventDefault()