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
});
const handleAddWorker = async (row: ClusterListItem) => {
const handleAddWorker = async (row: ClusterListItem, fromWorker = false) => {
try {
if (!row?.id) return;
// set the title based on provider type
const title =
let title =
row.provider === ProviderValueMap.Docker
? intl.formatMessage({ id: 'resources.button.create' })
: 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({
open: true,
title: title,
provider: row.provider as ProviderType,
cluster_id: [
ProviderValueMap.Docker,
ProviderValueMap.Kubernetes
].includes(row.provider as string)
? row.id
: null
cluster_id: clusterId
});
} catch (error: any) {
message.error(error?.message || 'Failed to fetch cluster token');
@@ -83,8 +93,7 @@ const useAddWorker = (props: {
* @returns
*/
const checkDefaultCluster = (
clusterList: Global.BaseOption<number, ClusterListItem>[],
includeDigitalOcean?: boolean
clusterList: Global.BaseOption<number, ClusterListItem>[]
) => {
// select default and ready cluster first, digitalocean no READY state
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 { queryClusterList } from '@/pages/cluster-management/apis';
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 useAddWorker from '@/pages/cluster-management/hooks/use-add-worker';
import useNoResourceResult from '@/pages/llmodels/hooks/use-no-resource-result';
@@ -192,13 +191,9 @@ const Workers: React.FC = () => {
});
const handleOnAddWorker = () => {
if (clusterData.list.length > 0) {
// filter only docker clusters for add worker
const list = clusterData.list.filter(
(item) => item.provider === ProviderValueMap.Docker
);
const targetCluster = checkDefaultCluster(list);
handleAddWorker(targetCluster as ClusterListItem);
const targetCluster = checkDefaultCluster(clusterData.list);
if (targetCluster) {
handleAddWorker(targetCluster as ClusterListItem, true);
} else {
message.info(intl.formatMessage({ id: 'noresult.resources.cluster' }));
}