Browse Source

feat: add handleUpdate to tree adapter

pull/5406/head
bnymncoskuner 5 years ago
parent
commit
d55ff00a30
  1. 13
      npm/ng-packs/packages/components/tree/src/lib/utils/nz-tree-adapter.ts

13
npm/ng-packs/packages/components/tree/src/lib/utils/nz-tree-adapter.ts

@ -48,7 +48,18 @@ export class TreeAdapter<T extends BaseNode = BaseNode> {
}
handleRemove({ key }: TreeNode<T>) {
this.tree = createTreeFromList(this.list.filter(item => item.id !== key));
this.updateTreeFromList(this.list.filter(item => item.id !== key));
}
handleUpdate({ key, children }: { key: string; children: T[] }) {
// remove current children and update tree
this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
// add new children and update tree
this.updateTreeFromList(this.list.concat(children));
}
updateTreeFromList(list: T[]) {
this.tree = createTreeFromList(list);
this.list = createListFromTree(this.tree);
}
}

Loading…
Cancel
Save