Fix:修复开启实时渲染特性时节点存在数学公式的时候进入文本编辑,节点大小没有适应的问题

This commit is contained in:
街角小林
2024-12-20 15:44:07 +08:00
parent 07712e7ac3
commit 3f2b5be4aa

View File

@@ -107,14 +107,13 @@ class Formula {
// 给指定的节点插入指定公式
insertFormulaToNode(node, formula) {
let richTextPlugin = this.mindMap.richText
const richTextPlugin = this.mindMap.richText
richTextPlugin.showEditText({ node })
richTextPlugin.quill.insertEmbed(
richTextPlugin.quill.getLength() - 1,
'formula',
formula
)
richTextPlugin.setTextStyleIfNotRichText(richTextPlugin.node)
richTextPlugin.hideEditText([node])
}
@@ -127,8 +126,18 @@ class Formula {
for (const el of els)
nodeText = nodeText.replace(
el.outerHTML,
`\$${el.getAttribute('data-value')}\$`
`$${el.getAttribute('data-value')}$`
)
// 如果开启了实时渲染,那么意味公式转换为源码时会影响节点尺寸,需要派发事件触发渲染
if (this.mindMap.opt.openRealtimeRenderOnNodeTextEdit) {
setTimeout(() => {
this.mindMap.emit('node_text_edit_change', {
node: this.mindMap.richText.node,
text: this.mindMap.richText.getEditText(),
richText: true
})
}, 0)
}
}
return nodeText
}