代码优化:将render类的setCopyDataToClipboard方法提取为工具方法

This commit is contained in:
wanglin2 2023-10-13 16:18:28 +08:00
parent 84d2a374d1
commit 1fbfe6f5ac
2 changed files with 18 additions and 20 deletions

View File

@ -21,7 +21,8 @@ import {
getNodeIndex,
createUid,
getNodeDataIndex,
getNodeIndexInNodeList
getNodeIndexInNodeList,
setDataToClipboard
} from '../../utils'
import { shapeList } from './node/Shape'
import { lineStyleProps } from '../../themes/default'
@ -774,29 +775,23 @@ class Render {
// 复制节点
copy() {
this.beingCopyData = this.copyNode()
this.setCopyDataToClipboard(this.beingCopyData)
setDataToClipboard({
simpleMindMap: true,
data: this.beingCopyData
})
}
// 剪切节点
cut() {
this.mindMap.execCommand('CUT_NODE', copyData => {
this.beingCopyData = copyData
this.setCopyDataToClipboard(copyData)
setDataToClipboard({
simpleMindMap: true,
data: copyData
})
})
}
// 将粘贴或剪切的数据设置到用户剪切板中
setCopyDataToClipboard(data) {
if (navigator.clipboard) {
navigator.clipboard.writeText(
JSON.stringify({
simpleMindMap: true,
data
})
)
}
}
// 粘贴节点
paste() {
if (this.beingCopyData) {
@ -1334,11 +1329,7 @@ class Render {
// 切换节点展开状态
toggleNodeExpand(node) {
this.mindMap.execCommand(
'SET_NODE_EXPAND',
node,
!node.getData('expand')
)
this.mindMap.execCommand('SET_NODE_EXPAND', node, !node.getData('expand'))
}
// 设置节点文本

View File

@ -891,3 +891,10 @@ export const isSameObject = (a, b) => {
return a === b
}
}
// 将数据设置到用户剪切板中
export const setDataToClipboard = data => {
if (navigator.clipboard) {
navigator.clipboard.writeText(JSON.stringify(data))
}
}