Browse Source

chore: 优化enum

pull/94/head
cp3hnu 1 year ago
parent
commit
3a886a64c4
11 changed files with 59 additions and 47 deletions
  1. +21
    -0
      react-ui/src/enums/index.ts
  2. +4
    -3
      react-ui/src/pages/Dataset/components/ResourceIntro/index.tsx
  3. +2
    -2
      react-ui/src/pages/Experiment/Comparison/index.tsx
  4. +1
    -1
      react-ui/src/pages/Experiment/components/LogGroup/index.tsx
  5. +1
    -1
      react-ui/src/pages/Experiment/components/LogList/index.tsx
  6. +12
    -13
      react-ui/src/pages/Experiment/components/TensorBoardStatus/index.tsx
  7. +8
    -7
      react-ui/src/pages/Experiment/index.jsx
  8. +3
    -13
      react-ui/src/pages/Experiment/status.ts
  9. +3
    -3
      react-ui/src/pages/ModelDeployment/Info/index.tsx
  10. +3
    -3
      react-ui/src/pages/ModelDeployment/types.ts
  11. +1
    -1
      react-ui/src/types.ts

+ 21
- 0
react-ui/src/enums/index.ts View File

@@ -4,6 +4,27 @@ export enum CommonTabKeys {
Public = 'Public', // 公开 Public = 'Public', // 公开
} }


// 实验状态
export enum ExperimentStatus {
Running = 'Running', // 运行中
Succeeded = 'Succeeded', // 成功
Pending = 'Pending', // 启动中
Failed = 'Failed', // 失败
Error = 'Error', // 错误
Terminated = 'Terminated', // 终止
Skipped = 'Skipped', // 跳过
Omitted = 'Omitted', // 忽略
}

// TensorBoard 状态
export enum TensorBoardStatus {
Unknown = 'Unknown', // 未知
Pending = 'Pending', // 启动中
Running = 'Running', // 运行中
Terminated = 'Terminated', // 未启动或者已终止
Failed = 'Failed', // 失败
}

// 镜像版本状态 // 镜像版本状态
export enum MirrorVersionStatus { export enum MirrorVersionStatus {
Available = 'available', // 可用 Available = 'available', // 可用


+ 4
- 3
react-ui/src/pages/Dataset/components/ResourceIntro/index.tsx View File

@@ -8,10 +8,11 @@ import { ResourceData, ResourceType, resourceConfig } from '../../config';
import ResourceVersion from '../ResourceVersion'; import ResourceVersion from '../ResourceVersion';
import styles from './index.less'; import styles from './index.less';


// 这里值小写是因为值会写在 url 中
export enum ResourceInfoTabKeys { export enum ResourceInfoTabKeys {
Introduction = 'introduction',
Version = 'version',
Evolution = 'evolution',
Introduction = 'introduction', // 简介
Version = 'version', // 版本
Evolution = 'evolution', // 演化
} }


type ResourceIntroProps = { type ResourceIntroProps = {


+ 2
- 2
react-ui/src/pages/Experiment/Comparison/index.tsx View File

@@ -9,8 +9,8 @@ import { useEffect, useState } from 'react';
import styles from './index.less'; import styles from './index.less';


export enum ComparisonType { export enum ComparisonType {
Train = 'train', // 训练
Evaluate = 'evaluate', // 评估
Train = 'Train', // 训练
Evaluate = 'Evaluate', // 评估
} }


function ExperimentComparison() { function ExperimentComparison() {


+ 1
- 1
react-ui/src/pages/Experiment/components/LogGroup/index.tsx View File

@@ -4,8 +4,8 @@
* @Description: 日志组件 * @Description: 日志组件
*/ */


import { ExperimentStatus } from '@/enums';
import { useStateRef } from '@/hooks'; import { useStateRef } from '@/hooks';
import { ExperimentStatus } from '@/pages/Experiment/status';
import { ExperimentLog } from '@/pages/Experiment/training/props'; import { ExperimentLog } from '@/pages/Experiment/training/props';
import { getExperimentPodsLog } from '@/services/experiment/index.js'; import { getExperimentPodsLog } from '@/services/experiment/index.js';
import { DoubleRightOutlined, DownOutlined, UpOutlined } from '@ant-design/icons'; import { DoubleRightOutlined, DownOutlined, UpOutlined } from '@ant-design/icons';


+ 1
- 1
react-ui/src/pages/Experiment/components/LogList/index.tsx View File

@@ -1,4 +1,4 @@
import { ExperimentStatus } from '@/pages/Experiment/status';
import { ExperimentStatus } from '@/enums';
import { ExperimentLog } from '@/pages/Experiment/training/props'; import { ExperimentLog } from '@/pages/Experiment/training/props';
import LogGroup from '../LogGroup'; import LogGroup from '../LogGroup';
import styles from './index.less'; import styles from './index.less';


+ 12
- 13
react-ui/src/pages/Experiment/components/TensorBoardStatus/index.tsx View File

@@ -5,16 +5,15 @@ import classNames from 'classnames';
import styles from './index.less'; import styles from './index.less';
// import stopImg from '@/assets/img/tensor-board-stop.png'; // import stopImg from '@/assets/img/tensor-board-stop.png';
import terminatedImg from '@/assets/img/tensor-board-terminated.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: { Unknown: {
label: '未知', label: '未知',
icon: terminatedImg, icon: terminatedImg,
@@ -43,12 +42,12 @@ const statusConfig = {
}; };


type TensorBoardStatusProps = { type TensorBoardStatusProps = {
status: TensorBoardStatusEnum;
status: TensorBoardStatus;
onClick: () => void; onClick: () => void;
}; };


function TensorBoardStatus({
status = TensorBoardStatusEnum.Unknown,
function TensorBoardStatusCell({
status = TensorBoardStatus.Unknown,
onClick, onClick,
}: TensorBoardStatusProps) { }: TensorBoardStatusProps) {
return ( return (
@@ -64,7 +63,7 @@ function TensorBoardStatus({
{statusConfig[status].icon ? ( {statusConfig[status].icon ? (
<> <>
<div style={{ margin: '0 6px' }}>|</div> <div style={{ margin: '0 6px' }}>|</div>
{status === TensorBoardStatusEnum.Pending ? (
{status === TensorBoardStatus.Pending ? (
<LoadingOutlined className={styles['tensorBoard-status__icon']} /> <LoadingOutlined className={styles['tensorBoard-status__icon']} />
) : ( ) : (
<img <img
@@ -79,4 +78,4 @@ function TensorBoardStatus({
); );
} }


export default TensorBoardStatus;
export default TensorBoardStatusCell;

+ 8
- 7
react-ui/src/pages/Experiment/index.jsx View File

@@ -1,5 +1,6 @@
import CommonTableCell from '@/components/CommonTableCell'; import CommonTableCell from '@/components/CommonTableCell';
import KFIcon from '@/components/KFIcon'; import KFIcon from '@/components/KFIcon';
import { TensorBoardStatus } from '@/enums';
import { import {
deleteExperimentById, deleteExperimentById,
deleteQueryByExperimentInsId, deleteQueryByExperimentInsId,
@@ -24,7 +25,7 @@ import { useEffect, useRef, useState } from 'react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { ComparisonType } from './Comparison'; import { ComparisonType } from './Comparison';
import AddExperimentModal from './components/AddExperimentModal'; import AddExperimentModal from './components/AddExperimentModal';
import TensorBoardStatus, { TensorBoardStatusEnum } from './components/TensorBoardStatus';
import TensorBoardStatusCell from './components/TensorBoardStatus';
import Styles from './index.less'; import Styles from './index.less';
import { experimentStatusInfo } from './status'; import { experimentStatusInfo } from './status';


@@ -260,12 +261,12 @@ function Experiment() {


const handleTensorboard = async (experimentIn) => { const handleTensorboard = async (experimentIn) => {
if ( if (
experimentIn.tensorBoardStatus === TensorBoardStatusEnum.Terminated ||
experimentIn.tensorBoardStatus === TensorBoardStatusEnum.Failed
experimentIn.tensorBoardStatus === TensorBoardStatus.Terminated ||
experimentIn.tensorBoardStatus === TensorBoardStatus.Failed
) { ) {
await runTensorBoard(experimentIn); await runTensorBoard(experimentIn);
} else if ( } else if (
experimentIn.tensorBoardStatus === TensorBoardStatusEnum.Running &&
experimentIn.tensorBoardStatus === TensorBoardStatus.Running &&
experimentIn.tensorboardUrl experimentIn.tensorboardUrl
) { ) {
window.open(experimentIn.tensorboardUrl, '_blank'); window.open(experimentIn.tensorboardUrl, '_blank');
@@ -457,12 +458,12 @@ function Experiment() {
</a> </a>
<div className={Styles.tensorBoard}> <div className={Styles.tensorBoard}>
{item.nodes_result?.tensorboard_log ? ( {item.nodes_result?.tensorboard_log ? (
<TensorBoardStatus
<TensorBoardStatusCell
status={item.tensorBoardStatus} status={item.tensorBoardStatus}
onClick={() => handleTensorboard(item)} onClick={() => handleTensorboard(item)}
></TensorBoardStatus>
></TensorBoardStatusCell>
) : ( ) : (
'-'
'--'
)} )}
</div> </div>
<div className={Styles.description}> <div className={Styles.description}>


+ 3
- 13
react-ui/src/pages/Experiment/status.ts View File

@@ -1,23 +1,13 @@
import { ExperimentStatus } from '@/enums';
import themes from '@/styles/theme.less'; import themes from '@/styles/theme.less';


export interface StatusInfo {
export interface ExperimentStatusInfo {
label: string; label: string;
color: string; color: string;
icon: string; icon: string;
} }


export enum ExperimentStatus {
Running = 'Running',
Succeeded = 'Succeeded',
Pending = 'Pending',
Failed = 'Failed',
Error = 'Error',
Terminated = 'Terminated',
Skipped = 'Skipped',
Omitted = 'Omitted',
}

export const experimentStatusInfo: Record<ExperimentStatus, StatusInfo | undefined> = {
export const experimentStatusInfo: Record<ExperimentStatus, ExperimentStatusInfo> = {
Running: { Running: {
label: '运行中', label: '运行中',
color: themes.primaryColor, color: themes.primaryColor,


+ 3
- 3
react-ui/src/pages/ModelDeployment/Info/index.tsx View File

@@ -17,9 +17,9 @@ import { ModelDeploymentData } from '../types';
import styles from './index.less'; import styles from './index.less';


export enum ModelDeploymentTabKey { export enum ModelDeploymentTabKey {
Predict = 'Predict',
Guide = 'Guide',
Log = 'Log',
Predict = 'Predict', // 预测
Guide = 'Guide', // 调用指南
Log = 'Log', // 服务日志
} }


function ModelDeploymentInfo() { function ModelDeploymentInfo() {


+ 3
- 3
react-ui/src/pages/ModelDeployment/types.ts View File

@@ -26,7 +26,7 @@ export type ModelDeploymentData = {


// 操作类型 // 操作类型
export enum ModelDeploymentOperationType { export enum ModelDeploymentOperationType {
Create = 'Create',
Update = 'Update',
Restart = 'Restart',
Create = 'Create', // 创建
Update = 'Update', // 更新
Restart = 'Restart', // 重启
} }

+ 1
- 1
react-ui/src/types.ts View File

@@ -4,7 +4,7 @@
* @Description: 定义全局类型,比如无关联的页面都需要要的类型 * @Description: 定义全局类型,比如无关联的页面都需要要的类型
*/ */


import { ExperimentStatus } from '@/pages/Experiment/status';
import { ExperimentStatus } from '@/enums';


// 流水线全局参数 // 流水线全局参数
export type PipelineGlobalParam = { export type PipelineGlobalParam = {


Loading…
Cancel
Save