This commit is contained in:
dengqichen 2024-12-27 13:29:37 +08:00
parent 15ebbab10a
commit 5abfb2e6ce

View File

@ -217,10 +217,10 @@ const DeploymentConfigModal: React.FC<DeploymentConfigModalProps> = ({
{/* 动态构建配置 */} {/* 动态构建配置 */}
{selectedTemplate?.buildVariablesSchema?.properties && ( {selectedTemplate?.buildVariablesSchema?.properties && (
<> <>
{/* 富文本编辑器字段 */} {/* 按照原始顺序渲染所有字段 */}
{Object.entries(selectedTemplate.buildVariablesSchema.properties) {Object.entries(selectedTemplate.buildVariablesSchema.properties).map(([key, property]) => {
.filter(([_, property]) => property.editorConfig) // 如果是编辑器字段
.map(([key, property]) => { if (property.editorConfig) {
const isFullscreen = fullscreenEditor?.key === key; const isFullscreen = fullscreenEditor?.key === key;
const editorConfig = property.editorConfig; const editorConfig = property.editorConfig;
@ -298,48 +298,48 @@ const DeploymentConfigModal: React.FC<DeploymentConfigModalProps> = ({
{editor} {editor}
</Form.Item> </Form.Item>
); );
}) }
}
{/* 普通字段 */} // 如果是普通字段,使用 BetaSchemaForm
<BetaSchemaForm return (
layoutType="Embed" <BetaSchemaForm
columns={convertJsonSchemaToColumns({ key={key}
type: 'object', layoutType="Embed"
properties: Object.fromEntries( columns={convertJsonSchemaToColumns({
Object.entries(selectedTemplate.buildVariablesSchema.properties) type: 'object',
.filter(([_, prop]) => !prop.editorConfig) properties: {
.map(([key, prop]) => [ [key]: {
key, type: property.type || 'string',
{ title: property.title,
type: prop.type || 'string', description: property.description,
title: prop.title, default: property.default,
description: prop.description, enum: property.enum,
default: prop.default, enumNames: property.enumNames,
enum: prop.enum, format: property.format,
enumNames: prop.enumNames, minimum: property.minimum,
format: prop.format, maximum: property.maximum,
minimum: prop.minimum, minLength: property.minLength,
maximum: prop.maximum, maxLength: property.maxLength,
minLength: prop.minLength, pattern: property.pattern,
maxLength: prop.maxLength, items: property.items && {
pattern: prop.pattern, type: property.items.type || 'string',
items: prop.items && { enum: property.items.enum,
type: prop.items.type || 'string', enumNames: property.items.enumNames
enum: prop.items.enum,
enumNames: prop.items.enumNames
} }
} }
]) },
), required: selectedTemplate.buildVariablesSchema.required?.includes(key) ? [key] : []
required: selectedTemplate.buildVariablesSchema.required || [] })}
})} initialValues={{
initialValues={buildVariables} [key]: buildVariables[key]
onValuesChange={(_, values) => setBuildVariables(prev => ({ }}
...prev, onValuesChange={(_, values) => setBuildVariables(prev => ({
...values ...prev,
}))} ...values
/> }))}
/>
);
})}
</> </>
)} )}