2025-07-04 08:44:04 +00:00
|
|
|
<th>{{label()}}</th>
|
2025-02-24 16:11:05 +00:00
|
|
|
<td>
|
|
|
|
|
@switch (type()) {
|
|
|
|
|
@case ('flag') {
|
2025-08-11 02:52:59 +00:00
|
|
|
<span [class]="rowValue() ? 'tag-active' : 'tag-inactive'">
|
2025-11-05 17:07:18 +00:00
|
|
|
{{ rowValue() || 'false' }}
|
2025-02-24 16:11:05 +00:00
|
|
|
</span>
|
|
|
|
|
}
|
|
|
|
|
@case ('list') {
|
2025-11-05 17:07:18 +00:00
|
|
|
@for (provider of dataArray(); track $index) {
|
|
|
|
|
<div class="value-container">
|
|
|
|
|
<span>{{ provider || '[empty string] ' }}</span
|
|
|
|
|
><ng-container
|
|
|
|
|
[ngTemplateOutlet]="actionBtn"
|
|
|
|
|
[ngTemplateOutletContext]="{ value: provider }"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
2025-02-24 16:11:05 +00:00
|
|
|
}
|
|
|
|
|
@default {
|
2025-11-12 15:53:31 +00:00
|
|
|
@if (rowValue() && renderValueAsJson()) {
|
|
|
|
|
<ng-route-data-tree
|
|
|
|
|
(viewSource)="actionBtnClick.emit($event)"
|
|
|
|
|
[showViewSourceButton]="actionBtnType() === 'view-source'"
|
|
|
|
|
[data]="rowValue()"
|
2025-11-05 17:07:18 +00:00
|
|
|
/>
|
2025-11-12 15:53:31 +00:00
|
|
|
} @else {
|
|
|
|
|
<div class="value-container">
|
|
|
|
|
<span> {{ rowValue() || '[empty string] ' }} </span
|
|
|
|
|
><ng-container
|
|
|
|
|
[ngTemplateOutlet]="actionBtn"
|
|
|
|
|
[ngTemplateOutletContext]="{ value: rowValue() }"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
2025-02-24 16:11:05 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</td>
|
2025-11-05 17:07:18 +00:00
|
|
|
|
|
|
|
|
<ng-template #actionBtn let-value="value">
|
|
|
|
|
@if (actionBtnType() !== 'none') {
|
|
|
|
|
<button
|
|
|
|
|
ng-button
|
|
|
|
|
btnType="icon"
|
|
|
|
|
(click)="actionBtnClick.emit(value)"
|
|
|
|
|
[matTooltip]="!actionBtnDisabled() ? actionBtnTooltip() || value : null"
|
|
|
|
|
[disabled]="actionBtnDisabled()"
|
|
|
|
|
>
|
|
|
|
|
@switch (actionBtnType()) {
|
|
|
|
|
@case ('view-source') {
|
|
|
|
|
<mat-icon class="view-source">code</mat-icon>
|
|
|
|
|
}
|
|
|
|
|
@case ('navigate') {
|
|
|
|
|
<mat-icon class="navigate">output</mat-icon>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</button>
|
|
|
|
|
}
|
|
|
|
|
</ng-template>
|