Closed rootspain closed 3 years ago
I solve it by swaping in the source dataset;
let fromIdx = this.treeItems.findIndex(x=>x.id==from.data.id);
let toIdx = this.treeItems.findIndex(x=>x.id==node.data.id);
let tmp = this.treeItems[fromIdx];
this.treeItems[fromIdx] = this.treeItems[toIdx];
this.treeItems[toIdx] = tmp;
tree.update();
I want to override drop function.
treeOptions:ITreeOptions = { actionMapping: { drop: (tree:TreeModel, node:TreeNode, $event:any, {from, to}) => { if (to.dropOnNode==undefined) { TREE_ACTIONS.MOVE_NODE(tree,node,$event,{from,to}); } else { let tmpFrom = tree.getNodeBy((x: TreeNode) => { return x.index === from.index; }); let tmpTo = tree.getNodeBy((x: TreeNode) => { return x.index === node.index; }); let tmp = tmpFrom.data; tmpFrom.data = tmpTo.data; tmpTo.data = tmp; / also not work let idx = node.index; node.index = from.index; from.index = idx; / tree.update(); } } }