优化代码:将render类的setNodeStyle和setNodeStyles方法的公共逻辑提取到richText插件

This commit is contained in:
wanglin2 2023-10-15 09:13:44 +08:00
parent 22b56fb8dc
commit 1caf2c7f15
2 changed files with 12 additions and 12 deletions

View File

@ -1158,14 +1158,9 @@ class Render {
}
// 如果开启了富文本,则需要应用到富文本上
if (this.mindMap.richText) {
let config = this.mindMap.richText.normalStyleToRichTextStyle({
this.mindMap.richText.setNotActiveNodeStyle(node, {
[prop]: value
})
if (Object.keys(config).length > 0) {
this.mindMap.richText.showEditText(node)
this.mindMap.richText.formatAllText(config)
this.mindMap.richText.hideEditText([node])
}
}
this.setNodeDataRender(node, data)
// 更新了连线的样式
@ -1179,12 +1174,7 @@ class Render {
let data = { ...style }
// 如果开启了富文本,则需要应用到富文本上
if (this.mindMap.richText) {
let config = this.mindMap.richText.normalStyleToRichTextStyle(style)
if (Object.keys(config).length > 0) {
this.mindMap.richText.showEditText(node)
this.mindMap.richText.formatAllText(config)
this.mindMap.richText.hideEditText([node])
}
this.mindMap.richText.setNotActiveNodeStyle(node, style)
}
this.setNodeDataRender(node, data)
// 更新了连线的样式

View File

@ -564,6 +564,16 @@ class RichText {
return data
}
// 给未激活的节点设置富文本样式
setNotActiveNodeStyle(node, style) {
const config = this.normalStyleToRichTextStyle(style)
if (Object.keys(config).length > 0) {
this.showEditText(node)
this.formatAllText(config)
this.hideEditText([node])
}
}
// 处理导出为图片
async handleExportPng(node) {
let el = document.createElement('div')