|
|
|
@@ -5,16 +5,15 @@ import classNames from 'classnames'; |
|
|
|
import styles from './index.less'; |
|
|
|
// import stopImg from '@/assets/img/tensor-board-stop.png'; |
|
|
|
import terminatedImg from '@/assets/img/tensor-board-terminated.png'; |
|
|
|
import { TensorBoardStatus } from '@/enums'; |
|
|
|
|
|
|
|
export enum TensorBoardStatusEnum { |
|
|
|
Unknown = 'Unknown', // 未知 |
|
|
|
Pending = 'Pending', // 启动中 |
|
|
|
Running = 'Running', // 运行中 |
|
|
|
Terminated = 'Terminated', // 未启动或者已终止 |
|
|
|
Failed = 'Failed', // 失败 |
|
|
|
} |
|
|
|
type TensorBoardStatusInfo = { |
|
|
|
label: string; |
|
|
|
icon: string; |
|
|
|
classname: string; |
|
|
|
}; |
|
|
|
|
|
|
|
const statusConfig = { |
|
|
|
const statusConfig: Record<TensorBoardStatus, TensorBoardStatusInfo> = { |
|
|
|
Unknown: { |
|
|
|
label: '未知', |
|
|
|
icon: terminatedImg, |
|
|
|
@@ -43,12 +42,12 @@ const statusConfig = { |
|
|
|
}; |
|
|
|
|
|
|
|
type TensorBoardStatusProps = { |
|
|
|
status: TensorBoardStatusEnum; |
|
|
|
status: TensorBoardStatus; |
|
|
|
onClick: () => void; |
|
|
|
}; |
|
|
|
|
|
|
|
function TensorBoardStatus({ |
|
|
|
status = TensorBoardStatusEnum.Unknown, |
|
|
|
function TensorBoardStatusCell({ |
|
|
|
status = TensorBoardStatus.Unknown, |
|
|
|
onClick, |
|
|
|
}: TensorBoardStatusProps) { |
|
|
|
return ( |
|
|
|
@@ -64,7 +63,7 @@ function TensorBoardStatus({ |
|
|
|
{statusConfig[status].icon ? ( |
|
|
|
<> |
|
|
|
<div style={{ margin: '0 6px' }}>|</div> |
|
|
|
{status === TensorBoardStatusEnum.Pending ? ( |
|
|
|
{status === TensorBoardStatus.Pending ? ( |
|
|
|
<LoadingOutlined className={styles['tensorBoard-status__icon']} /> |
|
|
|
) : ( |
|
|
|
<img |
|
|
|
@@ -79,4 +78,4 @@ function TensorBoardStatus({ |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
export default TensorBoardStatus; |
|
|
|
export default TensorBoardStatusCell; |