Search code examples
javascriptangulartypescripthyperlinkangular-ui-router

How can I create Angular Grid column cell hyperlink?


I've angular grid and I want to create a link of a column cell with dynamic job id something like this /jobs/3/job-maintenance/general - here 3 is the job id. Let's say I've element.jobId available. How can I do it?

This is the existing column code -

<ng-container cdkColumnDef="jobName">
   <th cdk-header-cell *cdkHeaderCellDef>
      <span class="cursor-pointer" (click)="doSort('jobName')">Job Name</span>
      <span *ngIf="sortKey === 'jobName'"> {{ sortDirection === 'asc' ? '↑' : '↓' }} 
      </span>
   </th>
   <td cdk-cell *cdkCellDef="let element">
      <u *ngIf="!hasContainedName(element.jobName); else contain"
         class="text-primary cursor-pointer">{{element.jobName}}</u>
      <ng-template #contain>{{element.jobName}}</ng-template>
   </td>
</ng-container>

Solution

  • Thanks for comments/help. Here is the solution worked correctly the way I wanted.

    <ng-container cdkColumnDef="jobName">
                    <th cdk-header-cell *cdkHeaderCellDef>
                      <span class="cursor-pointer" (click)="doSort('jobName')">Job Name</span>
                      <span *ngIf="sortKey === 'jobName'"> {{ sortDirection === 'asc' ? '↑' : '↓' }}</span>
                    </th>
                    <td cdk-cell *cdkCellDef="let element">
                      <u *ngIf="!hasContainedName(element.jobName); else contain"
                         class="text-primary cursor-pointer"><a href="/#/jobs/{{element.jobId}}/job-maintenance/general">{{element.jobName}}</a></u>
                       <ng-template #contain >{{element.jobName}}</ng-template>
                    </td>
                  </ng-container>