Browse Source

abp tree dropdown overlap bug fix

pull/23028/head
erdemcaygor 1 year ago
parent
commit
879dd0cae3
  1. 2
      npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html
  2. 11
      npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts

2
npm/ng-packs/packages/components/tree/src/lib/components/tree.component.html

@ -12,7 +12,7 @@
(nzCheckboxChange)="onCheckboxChange($event)" (nzCheckboxChange)="onCheckboxChange($event)"
(nzOnDrop)="onDrop($event)" (nzOnDrop)="onDrop($event)"
[nzNoAnimation]="noAnimation" [nzNoAnimation]="noAnimation"
(nzContextMenu)="dropdowns[$event.node?.key]?.toggle()" (nzContextMenu)="onContextMenuChange($event)"
/> />
<ng-template #treeTemplate let-node> <ng-template #treeTemplate let-node>
<div <div

11
npm/ng-packs/packages/components/tree/src/lib/components/tree.component.ts

@ -132,6 +132,17 @@ export class TreeComponent implements OnInit {
this.dropdowns[key] = dropdown; this.dropdowns[key] = dropdown;
} }
onContextMenuChange(event: NzFormatEmitEvent) {
const dropdownKey = event.node?.key;
Object.entries(this.dropdowns).forEach(([key, dropdown]) => {
if (key !== dropdownKey && dropdown?.isOpen()) {
dropdown.close();
}
});
this.dropdowns[dropdownKey]?.toggle();
}
setSelectedNode(node: any) { setSelectedNode(node: any) {
const newSelectedNode = this.findNode(node, this.nodes); const newSelectedNode = this.findNode(node, this.nodes);
this.selectedNode = { ...newSelectedNode }; this.selectedNode = { ...newSelectedNode };

Loading…
Cancel
Save