in packages/core/src/models/TreeNode.ts [718:746]
from(node?: ITreeNode) {
if (!node) return
return this.triggerMutation(
new FromNodeEvent({
target: this,
source: node,
}),
() => {
if (node.id && node.id !== this.id) {
TreeNodes.delete(this.id)
TreeNodes.set(node.id, this)
this.id = node.id
}
if (node.componentName) {
this.componentName = node.componentName
}
this.props = node.props ?? {}
if (node.hidden) {
this.hidden = node.hidden
}
if (node.children) {
this.children =
node.children?.map?.((node) => {
return new TreeNode(node, this)
}) || []
}
}
)
}