+ <h3 class="catalog__header">xApp Catalog</h3>
+ <div class="spinner-container" *ngIf="dataSource.loading$ | async">
+ <mat-spinner></mat-spinner>
+ </div>
+ <table mat-table [dataSource]="dataSource" matSort class="catalog-table mat-elevation-z8">
+
+ <ng-container matColumnDef="name">
+ <mat-header-cell *matHeaderCellDef mat-sort-header> xApp Name </mat-header-cell>
+ <mat-cell *matCellDef="let element"> {{element.name}} </mat-cell>
+ </ng-container>
+
+ <ng-container matColumnDef="version">
+ <mat-header-cell *matHeaderCellDef mat-sort-header> xApp version </mat-header-cell>
+ <mat-cell *matCellDef="let element"> {{element.version}} </mat-cell>
+ </ng-container>
+
+ <ng-container matColumnDef="status">
+ <mat-header-cell *matHeaderCellDef mat-sort-header> Status </mat-header-cell>
+ <mat-cell *matCellDef="let element"> {{element.status}} </mat-cell>
+ </ng-container>
+
+ <ng-container matColumnDef="action">
+ <mat-header-cell *matHeaderCellDef> Action </mat-header-cell>
+ <mat-cell *matCellDef="let element">
+ <div class="catalog-button-row">
+ <button mat-icon-button
+ (click)="onConfigurexApp(element.name)">
+ <mat-icon>settings</mat-icon>
+ </button>
+ <button mat-button class="mat-raised-button mat-primary"
+ (click)="onDeployxApp(element.name)">
+ Deploy
+ </button>
+ </div>
+ </mat-cell>
+ </ng-container>
+
+ <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
+ <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
+ </table>