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', // 公开
}

// 实验状态
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 {
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 styles from './index.less';

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

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';

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

function ExperimentComparison() {


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

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

import { ExperimentStatus } from '@/enums';
import { useStateRef } from '@/hooks';
import { ExperimentStatus } from '@/pages/Experiment/status';
import { ExperimentLog } from '@/pages/Experiment/training/props';
import { getExperimentPodsLog } from '@/services/experiment/index.js';
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 LogGroup from '../LogGroup';
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 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;

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

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

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

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

export interface StatusInfo {
export interface ExperimentStatusInfo {
label: string;
color: 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: {
label: '运行中',
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';

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

function ModelDeploymentInfo() {


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

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

// 操作类型
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: 定义全局类型,比如无关联的页面都需要要的类型
*/

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

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


Loading…
Cancel
Save