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

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

View File

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