Add error handling to improve user experience
[portal/ric-dashboard.git] / webapp-frontend / src / app / catalog / catalog.component.html
index 2379fd4..2a9b72d 100644 (file)
   -->
 <div class="catalog__section">
   <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" class="catalog-table mat-elevation-z8">
+
+  <table mat-table [dataSource]="dataSource" matSort class="catalog-table mat-elevation-z8">
 
     <ng-container matColumnDef="name">
-      <mat-header-cell *matHeaderCellDef> xApp Name </mat-header-cell>
+      <mat-header-cell *matHeaderCellDef mat-sort-header> App Name </mat-header-cell>
       <mat-cell *matCellDef="let element"> {{element.name}} </mat-cell>
     </ng-container>
 
     <ng-container matColumnDef="version">
-      <mat-header-cell *matHeaderCellDef> xApp version </mat-header-cell>
+      <mat-header-cell *matHeaderCellDef mat-sort-header> Version </mat-header-cell>
       <mat-cell *matCellDef="let element"> {{element.version}} </mat-cell>
     </ng-container>
 
-    <ng-container matColumnDef="status">
-      <mat-header-cell *matHeaderCellDef> 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 mat-icon-button (click)="onConfigureApp(element.name)">
+            <mat-icon matTooltip="Adjust settings">settings</mat-icon>
           </button>
-          <button mat-button class="mat-raised-button mat-primary"
-                  (click)="onDeployxApp(element.name)">
-            Deploy
+          <button mat-icon-button (click)="onDeployApp(element.name)">
+            <mat-icon matTooltip="Deploy app">cloud_upload</mat-icon>
           </button>
         </div>
       </mat-cell>
     </ng-container>
 
+    <ng-container matColumnDef="noRecordsFound">
+      <mat-footer-cell *matFooterCellDef>No records found.</mat-footer-cell>
+    </ng-container>
+
     <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
     <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
+    <mat-footer-row *matFooterRowDef="['noRecordsFound']" [ngClass]="{'display-none': dataSource.rowCount > 0}"></mat-footer-row>
+
   </table>
+
+  <div class="spinner-container" *ngIf="dataSource.loading$ | async">
+    <mat-spinner></mat-spinner>
+  </div>
+
 </div>