From 1da5d939d8e1ba150a56f763682b6b86cca757f0 Mon Sep 17 00:00:00 2001 From: tlartem Date: Fri, 25 Jul 2025 11:40:55 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D1=81=D0=BE=D0=B7?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=B2,=20=D0=BD=D0=B5=20=D0=B2=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TemplateManager/ElementConstructor.tsx | 38 ++++++++++++------- vite.config.ts | 1 - 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/component/TemplateManager/ElementConstructor.tsx b/src/component/TemplateManager/ElementConstructor.tsx index a6471b6..5e18728 100644 --- a/src/component/TemplateManager/ElementConstructor.tsx +++ b/src/component/TemplateManager/ElementConstructor.tsx @@ -463,25 +463,34 @@ export const ElementConstructor: React.FC = ({ const [editingElement, setEditingElement] = useState( null ) - const [formData, setFormData] = useState>({ - type: 'text', - name: '', - label: '', - targetCells: [], - placeholder: '', - required: false, - options: [], - }) + // Функция для создания дефолтной конфигурации + const createDefaultFormData = (type: ElementType = 'text') => { + const elementDefinition = getElementDefinition(type) - const resetForm = () => { - setFormData({ - type: 'text', + 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>( + createDefaultFormData() + ) + + const resetForm = () => { + setFormData(createDefaultFormData()) } const handleAddElement = () => { @@ -506,6 +515,7 @@ export const ElementConstructor: React.FC = ({ } 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 = ({ options: formData.options, order: elements.length, layout: defaultLayout, - } + } as TemplateElement onElementAdd(newElement) resetForm() diff --git a/vite.config.ts b/vite.config.ts index 2b95a5f..452375d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -15,7 +15,6 @@ export default defineConfig({ }, server: { host: '0.0.0.0', // Открыть для всех IP адресов - port: 80, // Явно указать порт (по умолчанию 5173) proxy: { '/api': { //192.168.2.66