File

src/lib/error/angular-error.component.ts

Implements

IErrorDialogComponent

Metadata

Index

Properties
Accessors

Properties

Public Readonly error
Type : AngularErrorDialogData
Default value : inject(RXAP_ERROR_DIALOG_ERROR)

Accessors

hasTags
gethasTags()
hasContexts
gethasContexts()
hasExtra
gethasExtra()
import {
  KeyValuePipe,
  NgForOf,
  NgIf,
} from '@angular/common';
import {
  Component,
  inject,
} from '@angular/core';
import { DataGridModule } from '@rxap/data-grid';
import { IErrorDialogComponent } from '../error-dialog/error-dialog.component';
import { RXAP_ERROR_DIALOG_ERROR } from '../tokens';
import { AngularErrorDialogData } from './angular-error-dialog-data';

@Component({
    selector: 'rxap-angular-error',
    imports: [DataGridModule, KeyValuePipe, NgForOf, NgIf],
    templateUrl: './angular-error.component.html',
    styleUrls: ['./angular-error.component.scss']
})
export class AngularErrorComponent implements IErrorDialogComponent<AngularErrorDialogData> {

  public readonly error: AngularErrorDialogData = inject(RXAP_ERROR_DIALOG_ERROR);

  public get hasTags(): boolean {
    return Object.keys(this.error.tags).length > 0;
  }

  public get hasContexts(): boolean {
    return Object.keys(this.error.contexts).length > 0;
  }

  public get hasExtra(): boolean {
    return Object.keys(this.error.extra).length > 0;
  }

}
<rxap-data-grid [data]="error">
  <ng-container *ngIf="error.name" rxapDataGridRowDef="name"></ng-container>
  <ng-container rxapDataGridRowDef="message"></ng-container>
  <ng-container *ngIf="hasExtra || hasTags || hasContexts || error.stack" rxapDataGridRowDef>
    <th *rxapDataGridHeaderCellDef>
      <span i18n>Details</span>
    </th>
  </ng-container>
  <ng-container *ngIf="error.stack" rxapDataGridRowDef="stack">
    <td *rxapDataGridCellDef="let value">
      <pre>{{ value }}</pre>
    </td>
  </ng-container>
  <ng-container *ngIf="hasTags" rxapDataGridRowDef="tags">
    <td *rxapDataGridCellDef="let value">
      <rxap-data-grid [data]="value" auto></rxap-data-grid>
    </td>
  </ng-container>
  <ng-container *ngIf="hasExtra" rxapDataGridRowDef="extra">
    <td *rxapDataGridCellDef="let value">
      <rxap-data-grid [data]="value" auto></rxap-data-grid>
    </td>
  </ng-container>
  <ng-container *ngIf="hasContexts" rxapDataGridRowDef="contexts">
    <td *rxapDataGridCellDef="let value">
      <rxap-data-grid [data]="value" auto></rxap-data-grid>
    </td>
  </ng-container>
</rxap-data-grid>

./angular-error.component.scss

Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""