фикс создания элементов, не вставляется конфигурация
This commit is contained in:
@@ -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') => {
|
||||||
name: '',
|
const elementDefinition = getElementDefinition(type)
|
||||||
label: '',
|
|
||||||
targetCells: [],
|
|
||||||
placeholder: '',
|
|
||||||
required: false,
|
|
||||||
options: [],
|
|
||||||
})
|
|
||||||
|
|
||||||
const resetForm = () => {
|
const baseData = {
|
||||||
setFormData({
|
type,
|
||||||
type: 'text',
|
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 = () => {
|
||||||
|
setFormData(createDefaultFormData())
|
||||||
}
|
}
|
||||||
|
|
||||||
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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user