diff --git a/simple-mind-map/src/Node.js b/simple-mind-map/src/Node.js index 8a15ec04..ba606ac8 100644 --- a/simple-mind-map/src/Node.js +++ b/simple-mind-map/src/Node.js @@ -560,6 +560,9 @@ class Node { this.group.on('contextmenu', (e) => { e.stopPropagation() e.preventDefault() + if (this.nodeData.data.isActive) { + this.renderer.clearActive() + } this.active(e) this.mindMap.emit('node_contextmenu', e, this) }) diff --git a/simple-mind-map/src/Render.js b/simple-mind-map/src/Render.js index f8323a2f..370007fd 100644 --- a/simple-mind-map/src/Render.js +++ b/simple-mind-map/src/Render.js @@ -62,7 +62,7 @@ class Render { * @Desc: 设置布局结构 */ setLayout() { - this.layout = new (layouts[this.mindMap.opt.layout] ? layouts[this.mindMap.opt.layout] : layouts.logicalStructure)(this) + this.layout = new(layouts[this.mindMap.opt.layout] ? layouts[this.mindMap.opt.layout] : layouts.logicalStructure)(this) } /** @@ -108,6 +108,9 @@ class Render { // 删除节点 this.removeNode = this.removeNode.bind(this) this.mindMap.command.add('REMOVE_NODE', this.removeNode) + // 复制节点 + this.copyNode = this.copyNode.bind(this) + this.mindMap.command.add('COPY_NODE', this.copyNode) // 修改节点样式 this.setNodeStyle = this.setNodeStyle.bind(this) this.mindMap.command.add('SET_NODE_STYLE', this.setNodeStyle) @@ -418,6 +421,20 @@ class Render { this.mindMap.render() } + /** + * javascript comment + * @Author: 王林25 + * @Date: 2021-07-15 09:53:23 + * @Desc: 复制节点 + */ + copyNode() { + if (this.activeNodeList.length <= 0) { + return; + } + let copyData = [] + + } + /** * @Author: 王林 * @Date: 2021-07-08 21:54:30 @@ -461,13 +478,13 @@ class Render { this.setNodeData(node, { expand }) - if (expand) {// 展开 + if (expand) { // 展开 node.children.forEach((item) => { item.render() }) node.renderLine() node.updateExpandBtnNode() - } else {// 收缩 + } else { // 收缩 node.children.forEach((item) => { item.remove() }) @@ -502,7 +519,12 @@ class Render { * @Date: 2021-07-10 08:37:40 * @Desc: 设置节点图片 */ - setNodeImage(node, { url, title, width, height }) { + setNodeImage(node, { + url, + title, + width, + height + }) { this.setNodeDataRender(node, { image: url, imageTitle: title || '', diff --git a/web/public/index.html b/web/public/index.html index 3cfbc940..11bc0fbb 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -4,7 +4,7 @@ -