From b69a0b620debbd433e86204b7d9dbb543d092d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Wed, 8 May 2024 09:54:16 +0800 Subject: [PATCH] =?UTF-8?q?Fix=EF=BC=9A1.=E5=85=A8=E9=80=89=E3=80=81?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=8A=82=E7=82=B9=E6=BF=80=E6=B4=BB=E7=9B=B8?= =?UTF-8?q?=E9=82=BB=E8=8A=82=E7=82=B9=E3=80=81=E5=A4=9A=E9=80=89=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=AD=89=E6=93=8D=E4=BD=9C=E5=A2=9E=E5=8A=A0=E6=B4=BE?= =?UTF-8?q?=E5=8F=91before=5Fnode=5Factive=E4=BA=8B=E4=BB=B6=EF=BC=9B2.?= =?UTF-8?q?=E5=A4=9A=E9=80=89=E8=8A=82=E7=82=B9=E6=94=B9=E4=B8=BA=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E6=B4=BE=E5=8F=91=E6=BF=80=E6=B4=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/Render.js | 5 ++++- simple-mind-map/src/core/render/node/Node.js | 4 ++-- simple-mind-map/src/plugins/Select.js | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index a7e9d809..fb874fbf 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -520,7 +520,7 @@ class Render { } // 添加节点到激活列表里 - addNodeToActiveList(node) { + addNodeToActiveList(node, notEmitBeforeNodeActiveEvent = false) { if ( this.mindMap.opt.onlyOneEnableActiveNodeOnCooperate && node.userList.length > 0 @@ -528,6 +528,9 @@ class Render { return const index = this.findActiveNodeIndex(node) if (index === -1) { + if (!notEmitBeforeNodeActiveEvent) { + this.mindMap.emit('before_node_active', node, this.activeNodeList) + } this.mindMap.execCommand('SET_NODE_ACTIVE', node, true) this.activeNodeList.push(node) } diff --git a/simple-mind-map/src/core/render/node/Node.js b/simple-mind-map/src/core/render/node/Node.js index 7d0f9b50..075ccb4b 100644 --- a/simple-mind-map/src/core/render/node/Node.js +++ b/simple-mind-map/src/core/render/node/Node.js @@ -482,7 +482,7 @@ class Node { ) this.mindMap.renderer[ isActive ? 'removeNodeFromActiveList' : 'addNodeToActiveList' - ](this) + ](this, true) this.renderer.emitNodeActiveEvent(isActive ? null : this) } this.mindMap.emit('node_mousedown', this, e) @@ -563,7 +563,7 @@ class Node { } this.mindMap.emit('before_node_active', this, this.renderer.activeNodeList) this.renderer.clearActiveNodeList() - this.renderer.addNodeToActiveList(this) + this.renderer.addNodeToActiveList(this, true) this.renderer.emitNodeActiveEvent(this) } diff --git a/simple-mind-map/src/plugins/Select.js b/simple-mind-map/src/plugins/Select.js index b4623c7e..2892d08f 100644 --- a/simple-mind-map/src/plugins/Select.js +++ b/simple-mind-map/src/plugins/Select.js @@ -237,11 +237,13 @@ class Select { return } this.mindMap.renderer.addNodeToActiveList(node) + this.mindMap.renderer.emitNodeActiveEvent() } else if (node.getData('isActive')) { if (!node.getData('isActive')) { return } this.mindMap.renderer.removeNodeFromActiveList(node) + this.mindMap.renderer.emitNodeActiveEvent() } }) }