chore: detail api
This commit is contained in:
@@ -106,7 +106,7 @@ const ViewLogsModal: React.FC<ViewModalProps> = (props) => {
|
||||
maskClosable={false}
|
||||
keyboard={true}
|
||||
styles={{
|
||||
content: {
|
||||
wrapper: {
|
||||
borderRadius: 0
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
import { createAxiosToken } from '@/hooks/use-chunk-request';
|
||||
import { useRequest } from 'ahooks';
|
||||
import { message } from 'antd';
|
||||
import { CancelTokenSource } from 'axios';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { queryModelInstancesList } from '../apis';
|
||||
import { ModelInstanceListItem } from '../config/types';
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns loading, fetch, dataList
|
||||
*/
|
||||
export const useQueryModelInstancesList = () => {
|
||||
const axiosTokenRef = useRef<CancelTokenSource | null>(null);
|
||||
const [dataList, setDataList] = useState<
|
||||
Array<Partial<ModelInstanceListItem> & { label: string; value: string }>
|
||||
>([]);
|
||||
|
||||
const {
|
||||
runAsync: fetchData,
|
||||
loading,
|
||||
cancel
|
||||
} = useRequest(
|
||||
async (params: { id: number }) => {
|
||||
const query = {
|
||||
page: -1,
|
||||
id: params.id
|
||||
};
|
||||
axiosTokenRef.current?.cancel();
|
||||
axiosTokenRef.current = createAxiosToken();
|
||||
const res = await queryModelInstancesList(query, {
|
||||
token: axiosTokenRef.current.token
|
||||
});
|
||||
setDataList(
|
||||
res.items?.map((item: ModelInstanceListItem) => ({
|
||||
...item,
|
||||
label: item.name,
|
||||
value: item.name
|
||||
})) || []
|
||||
);
|
||||
return res.items || [];
|
||||
},
|
||||
{
|
||||
manual: true,
|
||||
onSuccess: (response) => {},
|
||||
onError: (error) => {
|
||||
message.error(error?.message || 'Failed to fetch model instances list');
|
||||
setDataList([]);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
const cancelRequest = () => {
|
||||
cancel();
|
||||
axiosTokenRef.current?.cancel();
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
cancel();
|
||||
axiosTokenRef.current?.cancel();
|
||||
};
|
||||
}, []);
|
||||
|
||||
return {
|
||||
loading,
|
||||
instanceList: dataList,
|
||||
cancelRequest,
|
||||
fetchInstanceList: fetchData
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,67 @@
|
||||
import { createAxiosToken } from '@/hooks/use-chunk-request';
|
||||
import { useRequest } from 'ahooks';
|
||||
import { message } from 'antd';
|
||||
import { CancelTokenSource } from 'axios';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { queryModelsList } from '../apis';
|
||||
import { ListItem } from '../config/types';
|
||||
|
||||
/**
|
||||
*
|
||||
* @returns loading, fetch, dataList
|
||||
*/
|
||||
export const useQueryModelList = () => {
|
||||
const axiosTokenRef = useRef<CancelTokenSource | null>(null);
|
||||
const [dataList, setDataList] = useState<
|
||||
Array<Partial<ListItem> & { label: string; value: number }>
|
||||
>([]);
|
||||
|
||||
const {
|
||||
runAsync: fetchData,
|
||||
loading,
|
||||
cancel
|
||||
} = useRequest(
|
||||
async (params: { page: number; perPage?: number; cluster_id?: number }) => {
|
||||
axiosTokenRef.current?.cancel();
|
||||
axiosTokenRef.current = createAxiosToken();
|
||||
const res = await queryModelsList(params, {
|
||||
token: axiosTokenRef.current.token
|
||||
});
|
||||
setDataList(
|
||||
res.items?.map((item: ListItem) => ({
|
||||
...item,
|
||||
label: item.name,
|
||||
value: item.id
|
||||
})) || []
|
||||
);
|
||||
return res.items || [];
|
||||
},
|
||||
{
|
||||
manual: true,
|
||||
onSuccess: (response) => {},
|
||||
onError: (error) => {
|
||||
message.error(error?.message || 'Failed to fetch model list');
|
||||
setDataList([]);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
const cancelRequest = () => {
|
||||
cancel();
|
||||
axiosTokenRef.current?.cancel();
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
cancel();
|
||||
axiosTokenRef.current?.cancel();
|
||||
};
|
||||
}, []);
|
||||
|
||||
return {
|
||||
loading,
|
||||
modelList: dataList,
|
||||
cancelRequest,
|
||||
fetchModelList: fetchData
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user