Filtering for all producer columns in EIC
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / ei-coordinator / ei-coordinator.component.html
index 09d03ec..00ce9ad 100644 (file)
@@ -29,42 +29,63 @@ limitations under the License.
 
 <br>
 <h4>Producers</h4>
-<form [formGroup]="formGroup" class="filter-form">
-    <input
-      type="text"
-      class="form-control"
-      name="searchString"
-      placeholder="Search Producer"
-      formControlName="filter"
-    />
-</form>
+
 <div class="table-container">
-    <table [ngClass]="{'table-dark': darkMode}" matSort
-    class="ei-coordinator-table mat-elevation-z8">
-        <tr>
-            <th>Producer ID</th>
-            <th>Producer type</th>
-            <th>Producer status</th>
-        </tr>
-        <tr *ngFor="let eiProducer of filteredProducers$ | async">
-            <td class="text-left">
-                {{eiProducer.ei_producer_id}}
-            </td>
-            <td class="text-left">
-                {{this.getEIProducerTypes(eiProducer)}}
-            </td>
-            <td class="text-left">
-                {{this.getEIProducerStatus(eiProducer)}}
-            </td>
-        </tr>
-    </table>
+  <mat-table #producersTable [dataSource]="producersDataSource" matSort class="mat-elevation-z8">
+
+    <ng-container matColumnDef="id">
+      <mat-header-cell *matHeaderCellDef>
+        <form style="display: flex" [formGroup]="producersFormControl">
+          <mat-form-field>
+            <input matInput formControlName="ei_producer_id">
+            <mat-placeholder>Producer ID</mat-placeholder>
+          </mat-form-field>
+        </form>
+      </mat-header-cell>
+      <mat-cell *matCellDef="let eiProducer"> {{eiProducer.ei_producer_id}} </mat-cell>
+    </ng-container>
+
+    <ng-container matColumnDef="types">
+      <mat-header-cell *matHeaderCellDef>
+        <br>
+        <form style="display: flex" [formGroup]="producersFormControl">
+          <mat-form-field>
+            <input matInput formControlName="ei_producer_types">
+            <mat-placeholder>Producer types</mat-placeholder>
+          </mat-form-field>
+        </form>
+      </mat-header-cell>
+      <mat-cell *matCellDef="let eiProducer"> {{this.getEIProducerTypes(eiProducer)}} </mat-cell>
+    </ng-container>
+
+    <ng-container matColumnDef="status">
+      <mat-header-cell *matHeaderCellDef>
+        <br>
+        <form style="display: flex" [formGroup]="producersFormControl">
+          <mat-form-field>
+            <input matInput formControlName="status">
+            <mat-placeholder>Producer status</mat-placeholder>
+          </mat-form-field>
+        </form>
+      </mat-header-cell>
+      <mat-cell *matCellDef="let eiProducer"> {{this.getEIProducerStatus(eiProducer)}} </mat-cell>
+    </ng-container>
+
+    <mat-header-row *matHeaderRowDef="['id', 'types', 'status']"></mat-header-row>
+    <mat-row *matRowDef="let row; columns: ['id', 'types', 'status'];"></mat-row>
+
+     <!-- Row shown when there is no matching data. -->
+    <mat-row *matNoDataRow>
+      <mat-cell colspan="3">No data matching the filter "{{input.value}}"</mat-cell>
+    </mat-row>
+  </mat-table>
 </div>
 
 <br>
 <h4>Jobs</h4>
 
 <div class="table-container">
-    <mat-table [dataSource]="jobsDataSource" 
+    <mat-table [dataSource]="jobsDataSource"
         matSort class="ei-coordinator-table mat-elevation-z8">
         <ng-container matColumnDef="id">
             <mat-header-cell *matHeaderCellDef>