代码优化
This commit is contained in:
parent
a114631a66
commit
6055a04ec5
@ -31,6 +31,8 @@ class MindMap {
|
|||||||
constructor(opt = {}) {
|
constructor(opt = {}) {
|
||||||
// 合并选项
|
// 合并选项
|
||||||
this.opt = this.handleOpt(merge(defaultOpt, opt))
|
this.opt = this.handleOpt(merge(defaultOpt, opt))
|
||||||
|
// 预处理节点数据
|
||||||
|
this.opt.data = this.handleData(this.opt.data)
|
||||||
|
|
||||||
// 容器元素
|
// 容器元素
|
||||||
this.el = this.opt.el
|
this.el = this.opt.el
|
||||||
@ -98,8 +100,6 @@ class MindMap {
|
|||||||
|
|
||||||
// 配置参数处理
|
// 配置参数处理
|
||||||
handleOpt(opt) {
|
handleOpt(opt) {
|
||||||
// 深拷贝一份节点数据
|
|
||||||
opt.data = this.handleData(opt.data)
|
|
||||||
// 检查布局配置
|
// 检查布局配置
|
||||||
if (!layoutValueList.includes(opt.layout)) {
|
if (!layoutValueList.includes(opt.layout)) {
|
||||||
opt.layout = CONSTANTS.LAYOUT.LOGICAL_STRUCTURE
|
opt.layout = CONSTANTS.LAYOUT.LOGICAL_STRUCTURE
|
||||||
@ -113,7 +113,7 @@ class MindMap {
|
|||||||
handleData(data) {
|
handleData(data) {
|
||||||
data = simpleDeepClone(data || {})
|
data = simpleDeepClone(data || {})
|
||||||
// 根节点不能收起
|
// 根节点不能收起
|
||||||
if (!data.data.expand) {
|
if (data.data && !data.data.expand) {
|
||||||
data.data.expand = true
|
data.data.expand = true
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
@ -319,6 +319,7 @@ class MindMap {
|
|||||||
// 动态设置思维导图数据,纯节点数据
|
// 动态设置思维导图数据,纯节点数据
|
||||||
setData(data) {
|
setData(data) {
|
||||||
data = this.handleData(data)
|
data = this.handleData(data)
|
||||||
|
this.opt.data = data
|
||||||
this.execCommand('CLEAR_ACTIVE_NODE')
|
this.execCommand('CLEAR_ACTIVE_NODE')
|
||||||
this.command.clearHistory()
|
this.command.clearHistory()
|
||||||
this.command.addHistory()
|
this.command.addHistory()
|
||||||
|
|||||||
@ -28,6 +28,8 @@ class Cooperate {
|
|||||||
this.currentData = null
|
this.currentData = null
|
||||||
// 用户信息
|
// 用户信息
|
||||||
this.userInfo = null
|
this.userInfo = null
|
||||||
|
// 是否正在重新设置思维导图数据
|
||||||
|
this.isSetData = false
|
||||||
// 绑定事件
|
// 绑定事件
|
||||||
this.bindEvent()
|
this.bindEvent()
|
||||||
// 处理实例化时传入的思维导图数据
|
// 处理实例化时传入的思维导图数据
|
||||||
@ -92,8 +94,8 @@ class Cooperate {
|
|||||||
this.mindMap.on('node_tree_render_end', this.onNodeTreeRenderEnd)
|
this.mindMap.on('node_tree_render_end', this.onNodeTreeRenderEnd)
|
||||||
|
|
||||||
// 监听设置思维导图数据事件
|
// 监听设置思维导图数据事件
|
||||||
this.initData = this.initData.bind(this)
|
this.onSetData = this.onSetData.bind(this)
|
||||||
this.mindMap.on('set_data', this.initData)
|
this.mindMap.on('set_data', this.onSetData)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解绑事件
|
// 解绑事件
|
||||||
@ -104,7 +106,7 @@ class Cooperate {
|
|||||||
this.mindMap.off('data_change', this.onDataChange)
|
this.mindMap.off('data_change', this.onDataChange)
|
||||||
this.mindMap.off('node_active', this.onNodeActive)
|
this.mindMap.off('node_active', this.onNodeActive)
|
||||||
this.mindMap.off('node_tree_render_end', this.onNodeTreeRenderEnd)
|
this.mindMap.off('node_tree_render_end', this.onNodeTreeRenderEnd)
|
||||||
this.mindMap.off('set_data', this.initData)
|
this.mindMap.off('set_data', this.onSetData)
|
||||||
this.ydoc.destroy()
|
this.ydoc.destroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,6 +127,10 @@ class Cooperate {
|
|||||||
|
|
||||||
// 当前思维导图改变后的处理,触发同步
|
// 当前思维导图改变后的处理,触发同步
|
||||||
onDataChange(data) {
|
onDataChange(data) {
|
||||||
|
if (this.isSetData) {
|
||||||
|
this.isSetData = false
|
||||||
|
return
|
||||||
|
}
|
||||||
const res = transformTreeDataToObject(data)
|
const res = transformTreeDataToObject(data)
|
||||||
this.updateChanges(res)
|
this.updateChanges(res)
|
||||||
}
|
}
|
||||||
@ -143,7 +149,7 @@ class Cooperate {
|
|||||||
createOrUpdateList.push({
|
createOrUpdateList.push({
|
||||||
uid,
|
uid,
|
||||||
data: data[uid],
|
data: data[uid],
|
||||||
oldData: oldData[uid],
|
oldData: oldData[uid]
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -203,6 +209,12 @@ class Cooperate {
|
|||||||
this.waitNodeUidMap = {}
|
this.waitNodeUidMap = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 监听思维导图数据的重新设置事件
|
||||||
|
onSetData(data) {
|
||||||
|
this.isSetData = true
|
||||||
|
this.initData(data)
|
||||||
|
}
|
||||||
|
|
||||||
// 设置用户信息
|
// 设置用户信息
|
||||||
/**
|
/**
|
||||||
* {
|
* {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user