feat: V2 컴포넌트 설정 스키마 정비 및 화면 복제 기능 개선

- 레거시 컴포넌트를 제거하고, V2/V2 컴포넌트 전용 Zod 스키마와 기본값 레지스트리를 통합 관리합니다.
- V2 컴포넌트의 overrides 스키마를 정의하고, 관련된 설정 패널을 통합하였습니다.
- 화면 복제 기능을 개선하여 DB 구조 개편 후의 효율적인 화면 관리를 지원하며, 버튼의 `targetScreenId` 매핑 버그를 수정하였습니다.
- 프리뷰 모드에서 URL 파라미터의 company_code를 우선 사용하도록 변경하였습니다.
- UnifiedRepeater 및 UnifiedSelect 컴포넌트를 추가하여 다양한 데이터 관리 기능을 지원합니다.
This commit is contained in:
kjs
2026-01-29 14:45:04 +09:00
parent 3ab8c9b5a0
commit 924c95ab89
15 changed files with 3179 additions and 1023 deletions
+10 -4
View File
@@ -1081,10 +1081,16 @@ export default function ScreenDesigner({ selectedScreen, onBackToList, onScreenU
// detailSettings 파싱 (문자열이면 JSON 파싱)
let detailSettings = col.detailSettings || col.detail_settings;
if (typeof detailSettings === "string") {
try {
detailSettings = JSON.parse(detailSettings);
} catch (e) {
console.warn("detailSettings 파싱 실패:", e);
// JSON 형식인 경우에만 파싱 시도 (중괄호로 시작하는 경우)
if (detailSettings.trim().startsWith("{")) {
try {
detailSettings = JSON.parse(detailSettings);
} catch (e) {
console.warn("detailSettings 파싱 실패:", e);
detailSettings = {};
}
} else {
// JSON이 아닌 일반 문자열인 경우 빈 객체로 처리
detailSettings = {};
}
}