fix: add worker default selection is incorrect

This commit is contained in:
jialin
2026-01-08 11:01:06 +08:00
parent 0cff804cd7
commit 7b5ce83cbd
2 changed files with 23 additions and 19 deletions
@@ -29,26 +29,36 @@ const useAddWorker = (props: {
cluster_id: null cluster_id: null
}); });
const handleAddWorker = async (row: ClusterListItem) => { const handleAddWorker = async (row: ClusterListItem, fromWorker = false) => {
try { try {
if (!row?.id) return;
// set the title based on provider type // set the title based on provider type
const title = let title =
row.provider === ProviderValueMap.Docker row.provider === ProviderValueMap.Docker
? intl.formatMessage({ id: 'resources.button.create' }) ? intl.formatMessage({ id: 'resources.button.create' })
: intl.formatMessage({ id: 'clusters.button.register' }); : intl.formatMessage({ id: 'clusters.button.register' });
if (!row?.id) return; let clusterId: number | null = [
ProviderValueMap.Docker,
ProviderValueMap.Kubernetes
].includes(row.provider as string)
? row.id
: null;
if (fromWorker) {
title = intl.formatMessage({ id: 'resources.button.create' });
}
if (fromWorker && row.provider === ProviderValueMap.Kubernetes) {
clusterId = null;
}
setOpenAddWorker({ setOpenAddWorker({
open: true, open: true,
title: title, title: title,
provider: row.provider as ProviderType, provider: row.provider as ProviderType,
cluster_id: [ cluster_id: clusterId
ProviderValueMap.Docker,
ProviderValueMap.Kubernetes
].includes(row.provider as string)
? row.id
: null
}); });
} catch (error: any) { } catch (error: any) {
message.error(error?.message || 'Failed to fetch cluster token'); message.error(error?.message || 'Failed to fetch cluster token');
@@ -83,8 +93,7 @@ const useAddWorker = (props: {
* @returns * @returns
*/ */
const checkDefaultCluster = ( const checkDefaultCluster = (
clusterList: Global.BaseOption<number, ClusterListItem>[], clusterList: Global.BaseOption<number, ClusterListItem>[]
includeDigitalOcean?: boolean
) => { ) => {
// select default and ready cluster first, digitalocean no READY state // select default and ready cluster first, digitalocean no READY state
let currentData = clusterList.find( let currentData = clusterList.find(
+3 -8
View File
@@ -5,7 +5,6 @@ import useTableFetch from '@/hooks/use-table-fetch';
import PageBox from '@/pages/_components/page-box'; import PageBox from '@/pages/_components/page-box';
import { queryClusterList } from '@/pages/cluster-management/apis'; import { queryClusterList } from '@/pages/cluster-management/apis';
import { DockerStepsFromWorker } from '@/pages/cluster-management/components/add-worker/config'; import { DockerStepsFromWorker } from '@/pages/cluster-management/components/add-worker/config';
import { ProviderValueMap } from '@/pages/cluster-management/config';
import { ClusterListItem } from '@/pages/cluster-management/config/types'; import { ClusterListItem } from '@/pages/cluster-management/config/types';
import useAddWorker from '@/pages/cluster-management/hooks/use-add-worker'; import useAddWorker from '@/pages/cluster-management/hooks/use-add-worker';
import useNoResourceResult from '@/pages/llmodels/hooks/use-no-resource-result'; import useNoResourceResult from '@/pages/llmodels/hooks/use-no-resource-result';
@@ -192,13 +191,9 @@ const Workers: React.FC = () => {
}); });
const handleOnAddWorker = () => { const handleOnAddWorker = () => {
if (clusterData.list.length > 0) { const targetCluster = checkDefaultCluster(clusterData.list);
// filter only docker clusters for add worker if (targetCluster) {
const list = clusterData.list.filter( handleAddWorker(targetCluster as ClusterListItem, true);
(item) => item.provider === ProviderValueMap.Docker
);
const targetCluster = checkDefaultCluster(list);
handleAddWorker(targetCluster as ClusterListItem);
} else { } else {
message.info(intl.formatMessage({ id: 'noresult.resources.cluster' })); message.info(intl.formatMessage({ id: 'noresult.resources.cluster' }));
} }