|
| 1 | +<div class="td-table-container" [id]="id" tdContainer cdkScrollable> |
| 2 | + <table cdk-table class="td-table" [dataSource]="data" [trackBy]="trackTableRows"> |
| 3 | + <!-- Line Number Column --> |
| 4 | + <ng-container cdkColumnDef="lineNumber"> |
| 5 | + <th cdk-header-cell *cdkHeaderCellDef> |
| 6 | + </th> |
| 7 | + <td cdk-cell *cdkCellDef="let row" |
| 8 | + class="fit-column line-number-col" |
| 9 | + [class.delete-row]="row.prefix === '-'" |
| 10 | + [class.insert-row]="row.prefix === '+'" |
| 11 | + [class.empty-row]="!row?.lineContent" |
| 12 | + > |
| 13 | + {{ row.lineNumber | lineNumber }} |
| 14 | + </td> |
| 15 | + </ng-container> |
| 16 | + <!-- Line Number Column --> |
| 17 | + <ng-container cdkColumnDef="lineNumberRight"> |
| 18 | + <th cdk-header-cell *cdkHeaderCellDef> |
| 19 | + </th> |
| 20 | + <td cdk-cell *cdkCellDef="let row" |
| 21 | + class="fit-column line-number-col" |
| 22 | + [class.delete-row]="row.prefix === '-'" |
| 23 | + [class.insert-row]="row.prefix === '+'" |
| 24 | + [class.empty-row]="!row?.lineContent" |
| 25 | + > |
| 26 | + {{ row.lineNumberRight | lineNumber }} |
| 27 | + </td> |
| 28 | + </ng-container> |
| 29 | + <!-- Prefix Column --> |
| 30 | + <ng-container cdkColumnDef="prefix"> |
| 31 | + <th cdk-header-cell *cdkHeaderCellDef> |
| 32 | + </th> |
| 33 | + <td cdk-cell *cdkCellDef="let row" |
| 34 | + class="fit-column prefix-col" |
| 35 | + [class.delete-row]="row.prefix === '-'" |
| 36 | + [class.insert-row]="row.prefix === '+'" |
| 37 | + [class.empty-row]="!row?.lineContent" |
| 38 | + > |
| 39 | + {{ row.prefix | linePrefix }} |
| 40 | + </td> |
| 41 | + </ng-container> |
| 42 | + <!-- Line Content Column --> |
| 43 | + <ng-container cdkColumnDef="lineContent"> |
| 44 | + <th cdk-header-cell *cdkHeaderCellDef> |
| 45 | + </th> |
| 46 | + <td cdk-cell *cdkCellDef="let row" |
| 47 | + class="content-col" |
| 48 | + [class.delete-row]="row.prefix === '-'" |
| 49 | + [class.insert-row]="row.prefix === '+'" |
| 50 | + [class.empty-row]="!row?.lineContent" |
| 51 | + > |
| 52 | + <ng-container *ngIf="row.prefix === '-' || row.prefix === '+'; else hasNoDiffs"> |
| 53 | + <span |
| 54 | + [innerHTML]="diff.content | lineContent" |
| 55 | + [ngClass]="{ highlight: diff.isDiff }" |
| 56 | + *ngFor="let diff of row?.lineDiffs; trackBy: trackDiffs" |
| 57 | + ></span> |
| 58 | + </ng-container> |
| 59 | + <ng-template #hasNoDiffs> |
| 60 | + <span [innerHTML]="row?.lineContent | lineContent"></span> |
| 61 | + </ng-template> |
| 62 | + </td> |
| 63 | + </ng-container> |
| 64 | + |
| 65 | + <!-- Header and Row Declarations --> |
| 66 | + <tr cdk-header-row *cdkHeaderRowDef="displayedColumns; sticky: true"></tr> |
| 67 | + <tr cdk-row *cdkRowDef="let row; columns: displayedColumns"></tr> |
| 68 | + </table> |
| 69 | +</div> |
0 commit comments