фикс создания элементов, не вставляется конфигурация

This commit is contained in:
2025-07-25 11:40:55 +03:00
parent 035cf89f92
commit 1da5d939d8
2 changed files with 24 additions and 15 deletions

View File

@@ -463,25 +463,34 @@ export const ElementConstructor: React.FC<ElementConstructorProps> = ({
const [editingElement, setEditingElement] = useState<TemplateElement | null>(
null
)
const [formData, setFormData] = useState<Partial<TemplateElement>>({
type: 'text',
// Функция для создания дефолтной конфигурации
const createDefaultFormData = (type: ElementType = 'text') => {
const elementDefinition = getElementDefinition(type)
const baseData = {
type,
name: '',
label: '',
targetCells: [],
placeholder: '',
required: false,
options: [],
})
}
// Применяем defaultConfig если он есть
if (elementDefinition && elementDefinition.defaultConfig) {
Object.assign(baseData, elementDefinition.defaultConfig)
}
return baseData
}
const [formData, setFormData] = useState<Partial<TemplateElement>>(
createDefaultFormData()
)
const resetForm = () => {
setFormData({
type: 'text',
label: '',
targetCells: [],
placeholder: '',
required: false,
options: [],
})
setFormData(createDefaultFormData())
}
const handleAddElement = () => {
@@ -506,6 +515,7 @@ export const ElementConstructor: React.FC<ElementConstructorProps> = ({
}
const newElement: TemplateElement = {
...formData, // Копируем все поля из formData, включая специфичные для элемента
id: Date.now().toString(),
type: formData.type as ElementType,
name: formData.label || '',
@@ -516,7 +526,7 @@ export const ElementConstructor: React.FC<ElementConstructorProps> = ({
options: formData.options,
order: elements.length,
layout: defaultLayout,
}
} as TemplateElement
onElementAdd(newElement)
resetForm()

View File

@@ -15,7 +15,6 @@ export default defineConfig({
},
server: {
host: '0.0.0.0', // Открыть для всех IP адресов
port: 80, // Явно указать порт (по умолчанию 5173)
proxy: {
'/api': {
//192.168.2.66