Feat:增加协同编辑时同一节点不能多人选中的配置选项
This commit is contained in:
parent
8c07209cea
commit
a72d2e6748
@ -277,5 +277,7 @@ export const defaultOpt = {
|
|||||||
// 接收svg path字符串,返回转换后的svg path字符串
|
// 接收svg path字符串,返回转换后的svg path字符串
|
||||||
customTransformNodeLinePath: null,
|
customTransformNodeLinePath: null,
|
||||||
// 是否仅搜索当前渲染的节点,被收起的节点不会被搜索到
|
// 是否仅搜索当前渲染的节点,被收起的节点不会被搜索到
|
||||||
isOnlySearchCurrentRenderNodes: false
|
isOnlySearchCurrentRenderNodes: false,
|
||||||
|
// 协同编辑时,同一个节点不能同时被多人选中
|
||||||
|
onlyOneEnableActiveNodeOnCooperate: false
|
||||||
}
|
}
|
||||||
|
|||||||
@ -505,6 +505,11 @@ class Render {
|
|||||||
|
|
||||||
// 添加节点到激活列表里
|
// 添加节点到激活列表里
|
||||||
addNodeToActiveList(node) {
|
addNodeToActiveList(node) {
|
||||||
|
if (
|
||||||
|
this.mindMap.opt.onlyOneEnableActiveNodeOnCooperate &&
|
||||||
|
node.userList.length > 0
|
||||||
|
)
|
||||||
|
return
|
||||||
const index = this.findActiveNodeIndex(node)
|
const index = this.findActiveNodeIndex(node)
|
||||||
if (index === -1) {
|
if (index === -1) {
|
||||||
this.mindMap.execCommand('SET_NODE_ACTIVE', node, true)
|
this.mindMap.execCommand('SET_NODE_ACTIVE', node, true)
|
||||||
|
|||||||
@ -420,6 +420,12 @@ class Node {
|
|||||||
this.isMultipleChoice = false
|
this.isMultipleChoice = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (
|
||||||
|
this.mindMap.opt.onlyOneEnableActiveNodeOnCooperate &&
|
||||||
|
this.userList.length > 0
|
||||||
|
) {
|
||||||
|
return
|
||||||
|
}
|
||||||
this.active(e)
|
this.active(e)
|
||||||
})
|
})
|
||||||
this.group.on('mousedown', e => {
|
this.group.on('mousedown', e => {
|
||||||
@ -486,10 +492,14 @@ class Node {
|
|||||||
})
|
})
|
||||||
// 双击事件
|
// 双击事件
|
||||||
this.group.on('dblclick', e => {
|
this.group.on('dblclick', e => {
|
||||||
if (this.mindMap.opt.readonly || e.ctrlKey) {
|
const { readonly, onlyOneEnableActiveNodeOnCooperate } = this.mindMap.opt
|
||||||
|
if (readonly || e.ctrlKey) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
|
if (onlyOneEnableActiveNodeOnCooperate && this.userList.length > 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
this.mindMap.emit('node_dblclick', this, e)
|
this.mindMap.emit('node_dblclick', this, e)
|
||||||
})
|
})
|
||||||
// 右键菜单事件
|
// 右键菜单事件
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user