feat: add env field in deploy form

This commit is contained in:
jialin
2025-02-21 17:05:06 +08:00
parent a89ff584fd
commit c6cc5810ca
9 changed files with 55 additions and 11 deletions
@@ -43,6 +43,7 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
const intl = useIntl();
const wokerSelector = Form.useWatch('worker_selector', form);
const EnviromentVars = Form.useWatch('env', form);
const scheduleType = Form.useWatch('scheduleType', form);
const backend = Form.useWatch('backend', form);
const backend_parameters = Form.useWatch('backend_parameters', form);
@@ -118,6 +119,12 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
},
[]
);
const handleEnviromentVarsChange = useCallback(
(labels: Record<string, any>) => {
form.setFieldValue('env', labels);
},
[]
);
const handleBackendParametersChange = useCallback((list: string[]) => {
form.setFieldValue('backend_parameters', list);
@@ -201,6 +208,41 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
}
></SealSelect>
</Form.Item>
<Form.Item<FormData>
name="env"
rules={[
() => ({
validator(rule, value) {
if (_.keys(value).length > 0) {
if (_.some(_.keys(value), (k: string) => !value[k])) {
return Promise.reject(
intl.formatMessage(
{
id: 'common.validate.value'
},
{
name: intl.formatMessage({
id: 'common.text.variable'
})
}
)
);
}
}
return Promise.resolve();
}
})
]}
>
<LabelSelector
label={intl.formatMessage({
id: 'models.form.env'
})}
labels={EnviromentVars}
btnText="common.button.vars"
onChange={handleEnviromentVarsChange}
></LabelSelector>
</Form.Item>
<Form.Item<FormData>
name="worker_selector"
rules={[
+1
View File
@@ -31,6 +31,7 @@ export interface ListItem {
export interface FormData {
backend: string;
env?: Record<string, any>;
size?: number;
quantization?: number;
categories?: string[];