From 0f047da78bba1511dd13b5710ce9e3a2289b7007 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Fri, 22 Sep 2023 17:54:26 +0800 Subject: [PATCH 1/2] update --- simple-mind-map/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/simple-mind-map/package.json b/simple-mind-map/package.json index ca199a34..ac902448 100644 --- a/simple-mind-map/package.json +++ b/simple-mind-map/package.json @@ -2,7 +2,8 @@ "name": "simple-mind-map", "version": "0.7.1-fix.2", "description": "一个简单的web在线思维导图", - "authors": [{ + "authors": [ + { "name": "街角小林", "email": "1013335014@qq.com" }, @@ -49,4 +50,4 @@ "eslint": "^8.25.0", "prettier": "^2.7.1" } -} \ No newline at end of file +} From 8596e3356d7c01a552b8672118d2c4b5e98b8e25 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Sat, 23 Sep 2023 10:22:57 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Fix:=E4=BF=AE=E5=A4=8D=E9=9D=9E=E5=AF=8C?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E6=A8=A1=E5=BC=8F=E4=B8=8B=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E4=B8=AD=E5=AD=98=E5=9C=A8<>&=E5=AD=97=E7=AC=A6=E6=97=B6?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E7=BC=96=E8=BE=91=E6=97=B6=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E4=BC=9A=E6=B6=88=E5=A4=B1=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/TextEdit.js | 16 ++++++++++++---- simple-mind-map/src/utils/index.js | 12 ++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/simple-mind-map/src/core/render/TextEdit.js b/simple-mind-map/src/core/render/TextEdit.js index b7a56aa7..19336af2 100644 --- a/simple-mind-map/src/core/render/TextEdit.js +++ b/simple-mind-map/src/core/render/TextEdit.js @@ -1,4 +1,10 @@ -import { getStrWithBrFromHtml, checkNodeOuter, focusInput, selectAllInput } from '../../utils' +import { + getStrWithBrFromHtml, + checkNodeOuter, + focusInput, + selectAllInput, + htmlEscape +} from '../../utils' import { ERROR_TYPES } from '../../constants/constant' // 节点文字编辑类 @@ -167,9 +173,11 @@ export default class TextEdit { let scale = this.mindMap.view.scale let lineHeight = node.style.merge('lineHeight') let fontSize = node.style.merge('fontSize') - let textLines = (this.cacheEditingText || node.nodeData.data.text).split( - /\n/gim - ) + let textLines = (this.cacheEditingText || node.nodeData.data.text) + .split(/\n/gim) + .map(item => { + return htmlEscape(item) + }) let isMultiLine = node._textData.node.attr('data-ismultiLine') === 'true' node.style.domText(this.textEditNode, scale, isMultiLine) this.textEditNode.style.zIndex = nodeTextEditZIndex diff --git a/simple-mind-map/src/utils/index.js b/simple-mind-map/src/utils/index.js index 3096e28b..59c73d80 100644 --- a/simple-mind-map/src/utils/index.js +++ b/simple-mind-map/src/utils/index.js @@ -797,3 +797,15 @@ export const getNodeIndex = node => { }) : 0 } + +// html转义 +export const htmlEscape = str => { + ;[ + ['&', '&'], + ['<', '<'], + ['>', '>'] + ].forEach(item => { + str = str.replace(new RegExp(item[0], 'g'), item[1]) + }) + return str +}