diff --git a/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx b/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx index 975e4f2e..08d9343c 100644 --- a/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx +++ b/react-ui/src/pages/CodeConfig/components/AddCodeConfigModal/index.tsx @@ -3,8 +3,9 @@ import { AvailableRange } from '@/enums'; import { type CodeConfigData } from '@/pages/CodeConfig/List'; import { addCodeConfigReq, updateCodeConfigReq } from '@/services/codeConfig'; import { to } from '@/utils/promise'; -import { Form, Input, Radio, message, type ModalProps } from 'antd'; +import { Form, Input, Radio, message, type FormRule, type ModalProps } from 'antd'; import { omit } from 'lodash'; +import { useMemo } from 'react'; export enum VerifyMode { Password = 0, // 用户名密码 @@ -25,7 +26,32 @@ interface AddCodeConfigModalProps extends Omit { } function AddCodeConfigModal({ opType, codeConfigData, onOk, ...rest }: AddCodeConfigModalProps) { - // 上传请求 + const [form] = Form.useForm(); + const isPublic = Form.useWatch('code_repo_vis', form) === AvailableRange.Public; + + const urlExample = useMemo( + () => + isPublic + ? 'https://gitlink.org.cn/ci4s/ci4sManagement-cloud.git' + : 'git@code.gitlink.org.cn:ci4s/ci4sManagement-cloud.git', + [isPublic], + ); + + // /^(git@[\w.-]+:[\w./-]+\.git)$/ + const urlRules: FormRule[] = useMemo( + () => + isPublic + ? [ + { + type: 'url', + message: '请输入正确的 Git 地址', + }, + ] + : ([] as FormRule[]), + [isPublic], + ); + + // 创建 const createCodeConfig = async (formData: FormData) => { const params: FormData & { id?: number } = { ...formData, @@ -78,14 +104,12 @@ function AddCodeConfigModal({ opType, codeConfigData, onOk, ...rest }: AddCodeCo >
- {/* 禁止 Chrome 自动填充 */} - {/* - */} - + void; - onRemove: (item: CodeConfigData) => void; + onClick?: (item: CodeConfigData) => void; + onRemove?: (item: CodeConfigData) => void; }; function CodeConfigItem({ item, onClick, onRemove }: CodeConfigItemProps) { return ( -
onClick(item)}> +
onClick?.(item)}> {item.code_repo_name} +
+ {item.code_repo_vis === AvailableRange.Public ? '公开' : '私有'} +
-
{item.git_url}
+ + {item.git_url} + +
+ {item.git_branch} +