From f184a5d948e423d3283ce2405208712f9e5af920 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Fri, 3 Feb 2023 10:40:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=8C=E7=BA=A7=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=8B=96=E6=8B=BD=E5=88=B0=E5=85=B6=E4=BB=96=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=88=96=E5=85=B6=E4=BB=96=E8=8A=82=E7=82=B9=E6=8B=96?= =?UTF-8?q?=E6=8B=BD=E5=88=B0=E4=BA=8C=E7=BA=A7=E8=8A=82=E7=82=B9=E6=97=B6?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=A0=B7=E5=BC=8F=E6=B2=A1=E6=9C=89=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 8 ++++---- simple-mind-map/package.json | 2 +- simple-mind-map/src/Render.js | 21 ++++++++++++++++++--- web/src/pages/Doc/en/changelog/index.md | 4 ++++ web/src/pages/Doc/en/changelog/index.vue | 2 ++ web/src/pages/Doc/en/constructor/index.md | 8 ++++++-- web/src/pages/Doc/en/constructor/index.vue | 10 ++++++++-- web/src/pages/Doc/zh/changelog/index.md | 4 ++++ web/src/pages/Doc/zh/changelog/index.vue | 2 ++ web/src/pages/Doc/zh/constructor/index.md | 8 ++++++-- web/src/pages/Doc/zh/constructor/index.vue | 10 ++++++++-- 11 files changed, 63 insertions(+), 16 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index cea6d114..367d1add 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -142,21 +142,21 @@ class MindMap { } // 渲染,部分渲染 - render() { + render(callback) { this.batchExecution.push('render', () => { this.initTheme() this.renderer.reRender = false - this.renderer.render() + this.renderer.render(callback) }) } // 重新渲染 - reRender() { + reRender(callback) { this.batchExecution.push('render', () => { this.draw.clear() this.initTheme() this.renderer.reRender = true - this.renderer.render() + this.renderer.render(callback) }) } diff --git a/simple-mind-map/package.json b/simple-mind-map/package.json index 68257368..d8164d0b 100644 --- a/simple-mind-map/package.json +++ b/simple-mind-map/package.json @@ -1,6 +1,6 @@ { "name": "simple-mind-map", - "version": "0.3.1", + "version": "0.3.2", "description": "一个简单的web在线思维导图", "authors": [ { diff --git a/simple-mind-map/src/Render.js b/simple-mind-map/src/Render.js index 19c315e4..65693d70 100644 --- a/simple-mind-map/src/Render.js +++ b/simple-mind-map/src/Render.js @@ -239,7 +239,7 @@ class Render { // 渲染 - render() { + render(callback = () => {}) { if (this.reRender) { this.clearActive() } @@ -247,6 +247,7 @@ class Render { this.root = root this.root.render(() => { this.mindMap.emit('node_tree_render_end') + callback() }) }) this.mindMap.emit('node_active', null, this.activeNodeList) @@ -472,6 +473,8 @@ class Render { if (node.isRoot) { return } + // 如果是二级节点变成了下级节点,或是下级节点变成了二级节点,节点样式需要更新 + let nodeLayerChanged = (node.layerIndex === 1 && exist.layerIndex !== 1) || (node.layerIndex !== 1 && exist.layerIndex === 1) // 移动节点 let nodeParent = node.parent let nodeBorthers = nodeParent.children @@ -495,7 +498,12 @@ class Render { } existBorthers.splice(existIndex, 0, node) existParent.nodeData.children.splice(existIndex, 0, node.nodeData) - this.mindMap.render() + this.mindMap.render(() => { + if (nodeLayerChanged) { + node.getSize() + node.renderNode() + } + }) } // 将节点移动到另一个节点的后面 @@ -504,6 +512,8 @@ class Render { if (node.isRoot) { return } + // 如果是二级节点变成了下级节点,或是下级节点变成了二级节点,节点样式需要更新 + let nodeLayerChanged = (node.layerIndex === 1 && exist.layerIndex !== 1) || (node.layerIndex !== 1 && exist.layerIndex === 1) // 移动节点 let nodeParent = node.parent let nodeBorthers = nodeParent.children @@ -528,7 +538,12 @@ class Render { existIndex++ existBorthers.splice(existIndex, 0, node) existParent.nodeData.children.splice(existIndex, 0, node.nodeData) - this.mindMap.render() + this.mindMap.render(() => { + if (nodeLayerChanged) { + node.getSize() + node.renderNode() + } + }) } // 移除节点 diff --git a/web/src/pages/Doc/en/changelog/index.md b/web/src/pages/Doc/en/changelog/index.md index 472d6ddf..6b10c94f 100644 --- a/web/src/pages/Doc/en/changelog/index.md +++ b/web/src/pages/Doc/en/changelog/index.md @@ -1,5 +1,9 @@ # Changelog +## 0.3.2 + +Fix: 1.Fix the problem that the node style is not updated when the secondary node is dragged to other nodes or other nodes are dragged to the secondary node; + ## 0.3.1 Fix: 1.The problem that deleting the background image does not take effect; 2.The problem that the connector runs above the root node when the node is dragged to the root node. diff --git a/web/src/pages/Doc/en/changelog/index.vue b/web/src/pages/Doc/en/changelog/index.vue index c781161e..d91379ce 100644 --- a/web/src/pages/Doc/en/changelog/index.vue +++ b/web/src/pages/Doc/en/changelog/index.vue @@ -1,6 +1,8 @@