diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index 8cc6b91c..731edd37 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -32,9 +32,6 @@ class MindMap { this.svg = SVG().addTo(this.el).size(this.width, this.height) this.draw = this.svg.group() - // 节点id - this.uid = 1 - // 初始化主题 this.initTheme() @@ -238,7 +235,7 @@ class MindMap { // 获取思维导图数据,节点树、主题、布局等 getData(withConfig) { - let nodeData = this.command.removeDataUid(this.command.getCopyData()) + let nodeData = this.command.getCopyData() let data = {} if (withConfig) { data = { diff --git a/simple-mind-map/package-lock.json b/simple-mind-map/package-lock.json index 811a8646..29f719ea 100644 --- a/simple-mind-map/package-lock.json +++ b/simple-mind-map/package-lock.json @@ -1,11 +1,11 @@ { "name": "simple-mind-map", - "version": "0.6.0", + "version": "0.6.7", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.6.0", + "version": "0.6.7", "license": "MIT", "dependencies": { "@svgdotjs/svg.js": "^3.0.16", diff --git a/simple-mind-map/src/core/command/Command.js b/simple-mind-map/src/core/command/Command.js index 2a5f3115..d8edde54 100644 --- a/simple-mind-map/src/core/command/Command.js +++ b/simple-mind-map/src/core/command/Command.js @@ -89,7 +89,7 @@ class Command { this.history.shift() } this.activeHistoryIndex = this.history.length - 1 - this.mindMap.emit('data_change', this.removeDataUid(data)) + this.mindMap.emit('data_change', data) this.mindMap.emit( 'back_forward', this.activeHistoryIndex, @@ -110,7 +110,7 @@ class Command { this.history.length ) let data = simpleDeepClone(this.history[this.activeHistoryIndex]) - this.mindMap.emit('data_change', this.removeDataUid(data)) + this.mindMap.emit('data_change', data) return data } } @@ -125,7 +125,7 @@ class Command { this.activeHistoryIndex += step this.mindMap.emit('back_forward', this.activeHistoryIndex, this.history.length) let data = simpleDeepClone(this.history[this.activeHistoryIndex]) - this.mindMap.emit('data_change', this.removeDataUid(data)) + this.mindMap.emit('data_change', data) return data } } diff --git a/simple-mind-map/src/core/render/node/nodeGeneralization.js b/simple-mind-map/src/core/render/node/nodeGeneralization.js index 2a2a585d..ba204186 100644 --- a/simple-mind-map/src/core/render/node/nodeGeneralization.js +++ b/simple-mind-map/src/core/render/node/nodeGeneralization.js @@ -1,4 +1,5 @@ import Node from './Node' +import { createUid } from '../../../utils/index' // 检查是否存在概要 function checkHasGeneralization () { @@ -18,7 +19,7 @@ function createGeneralizationNode () { data: { data: this.nodeData.data.generalization }, - uid: this.mindMap.uid++, + uid: createUid(), renderer: this.renderer, mindMap: this.mindMap, draw: this.draw, diff --git a/simple-mind-map/src/layouts/Base.js b/simple-mind-map/src/layouts/Base.js index ca27fcd4..b5188cba 100644 --- a/simple-mind-map/src/layouts/Base.js +++ b/simple-mind-map/src/layouts/Base.js @@ -1,6 +1,7 @@ import Node from '../core/render/node/Node' import { CONSTANTS, initRootNodePositionMap } from '../constants/constant' import Lru from '../utils/Lru' +import { createUid } from '../utils/index' // 布局基类 class Base { @@ -101,7 +102,7 @@ class Base { } } else { // 创建新节点 - let uid = this.mindMap.uid++ + let uid = createUid() newNode = new Node({ data, uid, diff --git a/simple-mind-map/src/utils/index.js b/simple-mind-map/src/utils/index.js index f84f7fd2..8dbe6f8d 100644 --- a/simple-mind-map/src/utils/index.js +++ b/simple-mind-map/src/utils/index.js @@ -1,3 +1,5 @@ +import { v4 as uuidv4 } from 'uuid' + // 深度优先遍历树 export const walk = ( root, @@ -424,3 +426,8 @@ export const getImageSize = src => { } }) } + +// 创建节点唯一的id +export const createUid = () => { + return uuidv4() +} \ No newline at end of file