diff --git a/frontend/lib/registry/components/universal-form-modal/UniversalFormModalConfigPanel.tsx b/frontend/lib/registry/components/universal-form-modal/UniversalFormModalConfigPanel.tsx
index 4ef28d6f..aa2386be 100644
--- a/frontend/lib/registry/components/universal-form-modal/UniversalFormModalConfigPanel.tsx
+++ b/frontend/lib/registry/components/universal-form-modal/UniversalFormModalConfigPanel.tsx
@@ -4,6 +4,7 @@ import React, { useState, useEffect, useCallback } from "react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
+import { Checkbox } from "@/components/ui/checkbox";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
import { Badge } from "@/components/ui/badge";
@@ -334,6 +335,21 @@ export function UniversalFormModalConfigPanel({ config, onChange }: UniversalFor
모달 창의 크기를 선택하세요
+ {/* 저장 버튼 표시 설정 */}
+
+
+ updateModalConfig({ showSaveButton: checked === true })}
+ />
+
+
+
체크 해제 시 모달 하단의 저장 버튼이 숨겨집니다
+
+
diff --git a/frontend/lib/registry/components/universal-form-modal/modals/SaveSettingsModal.tsx b/frontend/lib/registry/components/universal-form-modal/modals/SaveSettingsModal.tsx
index 2607cf83..c9976ed8 100644
--- a/frontend/lib/registry/components/universal-form-modal/modals/SaveSettingsModal.tsx
+++ b/frontend/lib/registry/components/universal-form-modal/modals/SaveSettingsModal.tsx
@@ -217,8 +217,8 @@ export function SaveSettingsModal({
const repeatSections = sections.filter((s) => s.repeatable);
// 모든 필드 목록 (반복 섹션 포함)
- const getAllFields = (): { columnName: string; label: string; sectionTitle: string }[] => {
- const fields: { columnName: string; label: string; sectionTitle: string }[] = [];
+ const getAllFields = (): { columnName: string; label: string; sectionTitle: string; sectionId: string }[] => {
+ const fields: { columnName: string; label: string; sectionTitle: string; sectionId: string }[] = [];
sections.forEach((section) => {
// 필드 타입 섹션만 처리 (테이블 타입은 fields가 undefined)
if (section.fields && Array.isArray(section.fields)) {
@@ -227,6 +227,7 @@ export function SaveSettingsModal({
columnName: field.columnName,
label: field.label,
sectionTitle: section.title,
+ sectionId: section.id,
});
});
}
@@ -550,8 +551,8 @@ export function SaveSettingsModal({
return (
-
-
+
+
서브 테이블 {subIndex + 1}: {subTable.tableName || "(미설정)"}
@@ -560,19 +561,18 @@ export function SaveSettingsModal({
({subTable.fieldMappings?.length || 0}개 매핑)
-
-
-
+
+
+
@@ -755,8 +755,8 @@ export function SaveSettingsModal({
- {allFields.map((field) => (
-
+ {allFields.map((field, fieldIndex) => (
+
{field.label} ({field.sectionTitle})
))}