feat: 화면 디자이너 모달 및 제어 관리 탭 기능 추가
- 화면 설정 모달에 "제어 관리" 탭 추가하여 버튼 제어 설정을 간편하게 관리 - 버튼 액션 설정 기능 구현: 버튼 목록 표시 및 각 버튼의 액션 타입 수정 가능 - 화면 디자이너 모달 통합: 전체화면 Dialog 내부에 ScreenDesigner 임베드 - URL 쿼리 파라미터로 화면 디자이너 자동 열기 기능 추가 - 화면 캔버스 크기 자동 조절 기능 구현: 최소 크기 보장 및 여유 마진 추가 - 필드 추가/제거 기능 개선: 기존 그리드 컬럼 변경 로직과 통합하여 사용자 경험 향상
This commit is contained in:
@@ -1010,7 +1010,8 @@ export const getMultipleScreenLayoutSummary = async (req: Request, res: Response
|
||||
properties->'componentConfig'->>'bindField',
|
||||
properties->>'bindField',
|
||||
properties->'componentConfig'->>'field',
|
||||
properties->>'field'
|
||||
properties->>'field',
|
||||
properties->>'columnName'
|
||||
) as bind_field,
|
||||
-- componentConfig 전체 (JavaScript에서 다양한 패턴 파싱용)
|
||||
properties->'componentConfig' as component_config
|
||||
@@ -1113,6 +1114,17 @@ export const getMultipleScreenLayoutSummary = async (req: Request, res: Response
|
||||
}
|
||||
}
|
||||
|
||||
// 4. bindField가 있으면 usedColumns에 추가 (인풋 필드, 텍스트 필드 등)
|
||||
if (row.bind_field && !usedColumns.includes(row.bind_field)) {
|
||||
usedColumns.push(row.bind_field);
|
||||
}
|
||||
|
||||
// 5. componentConfig.field 또는 componentConfig.valueField도 추가
|
||||
const configField = componentConfig.field || componentConfig.valueField;
|
||||
if (configField && typeof configField === 'string' && !usedColumns.includes(configField)) {
|
||||
usedColumns.push(configField);
|
||||
}
|
||||
|
||||
if (summaryMap[screenId]) {
|
||||
summaryMap[screenId].widgetCounts[componentKind] =
|
||||
(summaryMap[screenId].widgetCounts[componentKind] || 0) + 1;
|
||||
|
||||
Reference in New Issue
Block a user