chore: provider form test

This commit is contained in:
jialin
2026-02-03 18:21:08 +08:00
parent d86d061f97
commit e188d788b9
27 changed files with 448 additions and 317 deletions
@@ -3,7 +3,6 @@ import FormDrawer from '@/pages/_components/form-drawer';
import React, { useRef } from 'react';
import { FormData, MaasProviderItem as ListItem } from '../config/types';
import { maasProviderType } from '../config';
import ProviderForm from '../forms';
type AddModalProps = {
@@ -11,7 +10,6 @@ type AddModalProps = {
action: PageActionType;
open: boolean;
currentData?: ListItem; // Used when action is EDIT
provider: maasProviderType | null;
onOk: (values: FormData) => void;
onCancel: () => void;
};
@@ -19,7 +17,6 @@ const AddProvider: React.FC<AddModalProps> = ({
title,
action,
open,
provider,
currentData,
onOk,
onCancel
@@ -30,7 +27,8 @@ const AddProvider: React.FC<AddModalProps> = ({
form.current?.submit();
};
const handleOk = async (data: FormData) => {
const handleOnFinish = async (data: FormData) => {
console.log('handleOnFinish', data);
onOk({
...data
});
@@ -53,7 +51,7 @@ const AddProvider: React.FC<AddModalProps> = ({
ref={form}
action={action}
currentData={currentData}
onFinish={handleOk}
onFinish={handleOnFinish}
/>
</FormDrawer>
);
@@ -1,5 +1,4 @@
import AutoTooltip from '@/components/auto-tooltip';
import { modelCategoriesMap } from '@/pages/llmodels/config';
import {
CheckCircleOutlined,
CloseCircleOutlined,
@@ -8,56 +7,13 @@ import {
import { Flex, Tag } from 'antd';
import React from 'react';
import { categoryConfig } from '../../_components/model-tag';
import { ProviderModel } from '../config/types';
interface ProviderModelProps {
dataList: any[];
provider: string;
providerId: number;
dataList: ProviderModel[];
}
const models: {
name: string;
status: 'accessible' | 'inaccessible' | 'none';
type: string;
}[] = [
{
name: 'model-1',
status: 'accessible',
type: modelCategoriesMap.llm
},
{
name: 'model-2',
status: 'inaccessible',
type: modelCategoriesMap.embedding
},
{
name: 'model-3',
status: 'none',
type: modelCategoriesMap.image
},
{
name: 'model-4',
status: 'accessible',
type: modelCategoriesMap.llm
},
{
name: 'model-5',
status: 'inaccessible',
type: modelCategoriesMap.embedding
},
{
name: 'model-6model-6model-6model-6model-6model-6model-6',
status: 'none',
type: modelCategoriesMap.image
},
{
name: 'model-7',
status: 'accessible',
type: modelCategoriesMap.llm
}
];
const ProviderModels: React.FC<ProviderModelProps> = () => {
const ProviderModels: React.FC<ProviderModelProps> = ({ dataList }) => {
const iconsMap = {
accessible: <CheckCircleOutlined />,
inaccessible: <CloseCircleOutlined />,
@@ -66,10 +22,14 @@ const ProviderModels: React.FC<ProviderModelProps> = () => {
return (
<div style={{ paddingInline: 16 }}>
<Flex gap="8px" wrap="wrap">
{models.map((model) => (
{dataList.map((model) => (
<Tag
key={model.name}
icon={iconsMap[model.status]}
icon={
model.accessible !== null
? iconsMap[model.accessible ? 'accessible' : 'inaccessible']
: iconsMap['none']
}
variant="outlined"
styles={{
root: {
@@ -80,9 +40,9 @@ const ProviderModels: React.FC<ProviderModelProps> = () => {
}
}}
color={
model.status === 'accessible'
model.accessible === true
? 'success'
: model.status === 'inaccessible'
: model.accessible === false
? 'error'
: 'warning'
}
@@ -92,7 +52,7 @@ const ProviderModels: React.FC<ProviderModelProps> = () => {
{model.name}
</AutoTooltip>
<span style={{ marginLeft: 8 }}>
{categoryConfig[model.type]?.icon}
{categoryConfig[model.category]?.icon}
</span>
</span>
</Tag>