Здравствуйте!!!
Хочу разобраться как можно осуществить смену узлов 2х деревьев с n вложенностью(узел получаем по клику, по факту это будет драг энд дроп). Корневой узел перетаскивает всех дочерних, любой дочерний может стать корневым и дочерним для любого другого узла в своем дереве или соседнем. Учитывается позиция.
1. Какие нужно учесть условия чтобы это стало возможо?
2. Задачка конечно ппц, хочется както понять с чего начать)
Допустим есть входящие данные такие:
const tree1 = [
{
id: 1,
title: 'node1',
children: [
{
id: 3,
title: 'sub node1' ,
},
{
id: 4,
title: 'sub node1' ,
children: [ { id: 5, title: 'sub sub node1'}]
}
] ,
},
{
id: 2,
title: 'node2',
children: [
{
id: 6,
title: 'sub node2' ,
},
{
id: 7, title: 'sub node2' ,
children: [ { id: 8, title: 'sub sub node2'}]
}
] ,
}
];
const tree2 = [
{
id: 9,
title: 'node1',
children: [
{
id: 10,
title: 'sub node1' ,
},
{
id: 11, title: 'sub node1' ,
children: []
}
] ,
},
{
id: 12,
title: 'node2',
children: [
{
id: 13,
title: 'sub node2' ,
},
{
id: 14,
title: 'sub node2' ,
children: [ { id: 15, title: 'sub sub node2'}]
}
] ,
}
];
const treeToTreeNodes = (tree1, tree2) => {
}