Reputation: 51
I have to show a context menu in a primeng tree table only in the second level. Is there any way to show the context menu only after some condition check in typescript (angular 4)?
Upvotes: 3
Views: 8516
Reputation: 1511
For me, the best option was to use onContextMenuSelectEvent. First, you need to add it to the tree table
<p-treeTable [style]="{'font-size':'1.7rem'}" selectionMode="single" [(selection)]="selectedFile" (onContextMenuSelect)="contextMenu($event.node, cm)" [contextMenu]="cm" [value]="treeNodeData">
and then in the method, you have to check your conditions and show or hide context menu
contextMenu(node, contextMenu){
if(condition){
contextMenu.hide();
}
}
I hope that it will also work for you.
Upvotes: 3
Reputation: 229
you can bind onContextMenuSelect event and play with [hide], I have done it like this.. in html...
<p-contextMenu #cm [model]="items" [hidden]="contextMenu"></p-contextMenu>
and in ts ..
viewDetails(selectedNode) {
this.contextMenu = false;
if (selectedNode.children.length == 0) {
this.contextMenu = false;
}
else { this.contextMenu = true;}
}
hope it works..
Upvotes: 4