fix: add worker default selection is incorrect
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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' }));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user