blob: 478017cfba480ebc7e2eb963f3c3a2293532b3d0 [file] [log] [blame]
<!--
~ 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>