fix: env params incorrect after switching between vendors
This commit is contained in:
@@ -30,7 +30,7 @@ const Environment: React.FC = () => {
|
||||
const { snapshot } = detailData;
|
||||
|
||||
// instance info
|
||||
const instanceEntry = Object.entries(snapshot.instances ?? {})[0];
|
||||
const instanceEntry = Object.entries(snapshot.instances || {})[0];
|
||||
const instanceData = instanceEntry?.[1];
|
||||
|
||||
const { handleExpandChange, handleExpandAll, expandedRowKeys } =
|
||||
@@ -38,7 +38,7 @@ const Environment: React.FC = () => {
|
||||
|
||||
const workerMap = useMemo(() => {
|
||||
return new Map(
|
||||
Object.entries(snapshot.workers ?? {}).map(([workerName, workerInfo]) => [
|
||||
Object.entries(snapshot.workers || {}).map(([workerName, workerInfo]) => [
|
||||
workerInfo.id,
|
||||
workerInfo
|
||||
])
|
||||
@@ -46,7 +46,7 @@ const Environment: React.FC = () => {
|
||||
}, [snapshot.workers]);
|
||||
|
||||
const gpuList = useMemo(() => {
|
||||
return Object.values(snapshot.gpus ?? {}) || [];
|
||||
return Object.values(snapshot.gpus || {}) || [];
|
||||
}, [snapshot.gpus]);
|
||||
|
||||
const findWorkerById = (workerID: number): WorkerData | undefined => {
|
||||
@@ -97,7 +97,7 @@ const Environment: React.FC = () => {
|
||||
children: gpuData
|
||||
};
|
||||
});
|
||||
}, [snapshot]);
|
||||
}, [snapshot.gpus, snapshot.workers, instanceData]);
|
||||
|
||||
const dataList = useMemo(() => {
|
||||
return [mainWorker, ...subWorkerList].filter(Boolean) as WorkerData[];
|
||||
|
||||
@@ -20,7 +20,7 @@ const SelectVendor: React.FC<AddWorkerStepProps> = ({ disabled }) => {
|
||||
);
|
||||
|
||||
const handleSelectProvider = (value: string, item: any) => {
|
||||
console.log('selected gpu driver:', value, item);
|
||||
if (value === currentGPU) return;
|
||||
setCurrentGPU(value);
|
||||
|
||||
updateField('currentGPU', value);
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import Password from '@/components/seal-form/password';
|
||||
import SealInput from '@/components/seal-form/seal-input';
|
||||
import SealSelect from '@/components/seal-form/seal-select';
|
||||
import { PageAction } from '@/config';
|
||||
import useAppUtils from '@/hooks/use-app-utils';
|
||||
import { useIntl } from '@umijs/max';
|
||||
import { Form } from 'antd';
|
||||
import ProviderLogo from '../components/provider-logo';
|
||||
import { useFormContext } from '../config/form-context';
|
||||
import { maasProviderOptions, ProviderEnum } from '../config/providers';
|
||||
import { FormData } from '../config/types';
|
||||
|
||||
@@ -12,6 +15,7 @@ const Basic: React.FC<{
|
||||
}> = ({ onAPIKeyBlur }) => {
|
||||
const intl = useIntl();
|
||||
const form = Form.useFormInstance<FormData>();
|
||||
const { action } = useFormContext();
|
||||
const providerType = Form.useWatch(['config', 'type'], form);
|
||||
const { getRuleMessage } = useAppUtils();
|
||||
|
||||
@@ -92,8 +96,9 @@ const Basic: React.FC<{
|
||||
}
|
||||
]}
|
||||
>
|
||||
<SealInput.Password
|
||||
<Password
|
||||
required
|
||||
visibilityToggle={action !== PageAction.EDIT}
|
||||
onBlur={onAPIKeyBlur}
|
||||
label={intl.formatMessage({
|
||||
id: 'providers.form.tokens.title'
|
||||
|
||||
@@ -157,10 +157,12 @@ interface AddWorkerCommandParams {
|
||||
}
|
||||
|
||||
const generateEnvArgs = (params: any) => {
|
||||
const registrationInfo = params.registrationInfo || {};
|
||||
registrationInfo.env = {
|
||||
...registrationInfo.env,
|
||||
...params.extraEnv
|
||||
const registrationInfo = {
|
||||
...params.registrationInfo,
|
||||
env: {
|
||||
...(params.registrationInfo?.env || {}),
|
||||
...params.extraEnv
|
||||
}
|
||||
};
|
||||
// generate environment variables args from registrationInfo.env
|
||||
let envArgs = '';
|
||||
|
||||
Reference in New Issue
Block a user