Reshma Ramesh
Reshma Ramesh

Reputation: 51

Show Context Menu after condition Check in Primeng Angular 4

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

Answers (2)

Stefan
Stefan

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

Sarvagya Saxena
Sarvagya Saxena

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

Related Questions