代码优化:将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, getNodeIndex,
createUid, createUid,
getNodeDataIndex, getNodeDataIndex,
getNodeIndexInNodeList getNodeIndexInNodeList,
setDataToClipboard
} from '../../utils' } from '../../utils'
import { shapeList } from './node/Shape' import { shapeList } from './node/Shape'
import { lineStyleProps } from '../../themes/default' import { lineStyleProps } from '../../themes/default'
@ -774,29 +775,23 @@ class Render {
// 复制节点 // 复制节点
copy() { copy() {
this.beingCopyData = this.copyNode() this.beingCopyData = this.copyNode()
this.setCopyDataToClipboard(this.beingCopyData) setDataToClipboard({
simpleMindMap: true,
data: this.beingCopyData
})
} }
// 剪切节点 // 剪切节点
cut() { cut() {
this.mindMap.execCommand('CUT_NODE', copyData => { this.mindMap.execCommand('CUT_NODE', copyData => {
this.beingCopyData = 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() { paste() {
if (this.beingCopyData) { if (this.beingCopyData) {
@ -1334,11 +1329,7 @@ class Render {
// 切换节点展开状态 // 切换节点展开状态
toggleNodeExpand(node) { toggleNodeExpand(node) {
this.mindMap.execCommand( this.mindMap.execCommand('SET_NODE_EXPAND', node, !node.getData('expand'))
'SET_NODE_EXPAND',
node,
!node.getData('expand')
)
} }
// 设置节点文本 // 设置节点文本

View File

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