| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. |
| --> |
| |
| <div style="margin: 15px; padding: 15px; background-color: white"> |
| <nz-table |
| *ngIf="!isLoading" |
| style="margin-top: 10px" |
| id="experimentTable" |
| #basicTable |
| [nzData]="[experimentInfo]" |
| [nzShowPagination]="false" |
| nzSize="small" |
| > |
| <thead> |
| <tr> |
| <th>Experiment Name</th> |
| <th>Experiment ID</th> |
| <th>Created Time</th> |
| <th>Running Time</th> |
| <th>Finished Time</th> |
| <th>Duration</th> |
| <th>Status</th> |
| <th>Action</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>{{ experimentInfo.name }}</td> |
| <td>{{ experimentInfo.experimentId }}</td> |
| <td>{{ experimentInfo.createdTime | date: 'M/d/yyyy, h:mm a' }}</td> |
| <td>{{ experimentInfo.runningTime | date: 'M/d/yyyy, h:mm a' }}</td> |
| <td>{{ experimentInfo.finishedTime | date: 'M/d/yyyy, h:mm a' }}</td> |
| <td>{{ experimentInfo.duration }}</td> |
| <td> |
| <nz-tag [nzColor]="statusColor[experimentInfo.status]">{{ experimentInfo.status }}</nz-tag> |
| </td> |
| <td class="td-action"> |
| <a (click)="startExperiment()">Start</a> |
| <nz-divider nzType="vertical"></nz-divider> |
| <a nz-dropdown [nzDropdownMenu]="more"> |
| More |
| <i nz-icon nzType="down"></i> |
| </a> |
| <nz-dropdown-menu #more="nzDropdownMenu"> |
| <ul nz-menu nzSelectable> |
| <li nz-menu-item (click)="editExperiment()">Edit</li> |
| <li |
| nz-menu-item |
| nz-popconfirm |
| nzPlacement="left" |
| nzTitle="Are you sure you want to delete?" |
| nzCancelText="Cancel" |
| nzOkText="Ok" |
| (nzOnConfirm)="onDeleteExperiment()" |
| > |
| Delete |
| </li> |
| </ul> |
| </nz-dropdown-menu> |
| </td> |
| </tr> |
| </tbody> |
| </nz-table> |
| <nz-spin *ngIf="isLoading"></nz-spin> |
| <div style="background-color: white"> |
| <nz-select id="nzSelect_selectPod" [(ngModel)]="selectedPod"> |
| <nz-option *ngFor="let pod of podNameArr" [nzValue]="pod" [nzLabel]="pod"></nz-option> |
| </nz-select> |
| </div> |
| <nz-layout> |
| <nz-sider id="experimentInfo_sider"> |
| <ul nz-menu> |
| <li nz-menu-item nzSelected (click)="currentState = 0"> |
| <i nz-icon nzType="bar-chart" nzTheme="outline"></i> |
| Charts |
| </li> |
| <li nz-menu-item (click)="currentState = 1"> |
| <i nz-icon nzType="bars" nzTheme="outline"></i> |
| Parameters |
| </li> |
| <li nz-menu-item (click)="currentState = 2"> |
| <i nz-icon nzType="appstore" nzTheme="outline"></i> |
| Metrics |
| </li> |
| <li nz-menu-item (click)="currentState = 3"> |
| <i nz-icon nzType="desktop" nzTheme="outline"></i> |
| Outputs |
| </li> |
| </ul> |
| </nz-sider> |
| <nz-layout> |
| <div [ngSwitch]="currentState"> |
| <submarine-charts *ngSwitchCase="0" [workerIndex]="selectedPod" [metricData]="metricData"></submarine-charts> |
| <submarine-hyper-params |
| *ngSwitchCase="1" |
| [workerIndex]="selectedPod" |
| [paramData]="paramData" |
| ></submarine-hyper-params> |
| <submarine-metrics *ngSwitchCase="2" [workerIndex]="selectedPod" [metricData]="metricData"></submarine-metrics> |
| <submarine-outputs |
| *ngSwitchCase="3" |
| [podName]="selectedPod" |
| [experimentID]="experimentID" |
| [podLogArr]="podLogArr" |
| ></submarine-outputs> |
| </div> |
| </nz-layout> |
| </nz-layout> |
| </div> |