Компоненты PrimeNG
TreeTable
ContextMenu

ContextMenu

col.header rowData[col.field]

<p-toast></p-toast>
 
<p-treeTable [value]="filesContextMenu" [columns]="cols" dataKey="name" [(contextMenuSelection)]="selectedContextMenu" [contextMenu]="cm">
  <ng-template pTemplate="header" let-columns>
    <tr>
      <th *ngFor="let col of columns">
        { { col.header } }
      </th>
    </tr>
  </ng-template>
  <ng-template pTemplate="body" let-rowNode let-rowData="rowData" let-columns="columns">
    <tr [ttContextMenuRow]="rowNode">
      <td *ngFor="let col of columns; let i = index">
        <p-treeTableToggler [rowNode]="rowNode" *ngIf="i == 0"></p-treeTableToggler>
        { { rowData[col.field] } }
      </td>
    </tr>
  </ng-template>
</p-treeTable>
<p-contextMenu #cm [model]="items"></p-contextMenu>