From ba77fde93b5f7241a5d39b1d2eedbeaa49b8904d Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Wed, 11 Oct 2023 17:12:37 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9AsetTheme=E3=80=81setThemeConfig?= =?UTF-8?q?=E3=80=81setLayout=E5=87=BD=E6=95=B0=E5=A2=9E=E5=8A=A0=E4=B8=8D?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E9=87=8D=E6=96=B0=E6=B8=B2=E6=9F=93=E7=9A=84?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index e20ef950..657414e7 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -35,7 +35,7 @@ class MindMap { // 容器元素 this.el = this.opt.el if (!this.el) throw new Error('缺少容器元素el') - + // 获取容器尺寸位置信息 this.getElRectInfo() @@ -233,10 +233,12 @@ class MindMap { } // 设置主题 - setTheme(theme) { + setTheme(theme, notRender = false) { this.renderer.clearAllActive() this.opt.theme = theme - this.render(null, CONSTANTS.CHANGE_THEME) + if (!notRender) { + this.render(null, CONSTANTS.CHANGE_THEME) + } this.emit('view_theme_change', theme) } @@ -246,13 +248,15 @@ class MindMap { } // 设置主题配置 - setThemeConfig(config) { + setThemeConfig(config, notRender = false) { // 计算改变了的配置 const changedConfig = getObjectChangedProps(this.themeConfig, config) this.opt.themeConfig = config - // 检查改变的是否是节点大小无关的主题属性 - let res = checkIsNodeSizeIndependenceConfig(changedConfig) - this.render(null, res ? '' : CONSTANTS.CHANGE_THEME) + if (!notRender) { + // 检查改变的是否是节点大小无关的主题属性 + let res = checkIsNodeSizeIndependenceConfig(changedConfig) + this.render(null, res ? '' : CONSTANTS.CHANGE_THEME) + } } // 获取自定义主题配置 @@ -281,7 +285,7 @@ class MindMap { } // 设置布局结构 - setLayout(layout) { + setLayout(layout, notRender = false) { // 检查布局配置 if (!layoutValueList.includes(layout)) { layout = CONSTANTS.LAYOUT.LOGICAL_STRUCTURE @@ -289,7 +293,9 @@ class MindMap { this.opt.layout = layout this.view.reset() this.renderer.setLayout() - this.render(null, CONSTANTS.CHANGE_LAYOUT) + if (!notRender) { + this.render(null, CONSTANTS.CHANGE_LAYOUT) + } } // 执行命令 @@ -409,7 +415,7 @@ class MindMap { const markerList = svg.find('marker') if (markerList && markerList.length > 0) { const id = markerList[0].attr('id') - clone.find('marker').forEach((item) => { + clone.find('marker').forEach(item => { item.attr('id', id) }) }