ERP-node/popdocs/INDEX.md

5.4 KiB

기능별 색인

용도: "이 기능 어디있어?", "비슷한 기능 찾아줘" 검색 팁: Ctrl+F로 기능명, 키워드 검색


렌더링

기능 파일 함수/컴포넌트 설명
그리드 렌더링 PopRenderer.tsx PopRenderer CSS Grid 기반 v5 렌더링
격자 셀 렌더링 PopRenderer.tsx gridCells (useMemo) 12x20 = 240개 DOM 셀
위치 변환 gridUtils.ts convertPositionToMode() 12칸 → 4/6/8칸 변환
모드 감지 pop-layout.ts detectGridMode() 뷰포트 너비로 모드 판별
컴포넌트 스타일 PopRenderer.tsx convertPosition() 그리드 좌표 → CSS

그리드 가이드

기능 파일 함수/컴포넌트 설명
격자 셀 PopRenderer.tsx gridCells CSS Grid 기반 격자선 (동적 행 수)
열 라벨 PopCanvas.tsx gridLabels.columns 1~12 표시
행 라벨 PopCanvas.tsx gridLabels.rows 동적 계산 (dynamicCanvasHeight 기반)
토글 PopCanvas.tsx showGridGuide 상태 격자 ON/OFF

세로 자동 확장

기능 파일 함수/컴포넌트 설명
동적 높이 PopCanvas.tsx dynamicCanvasHeight 컴포넌트 배치 기반 자동 계산
최소 높이 PopCanvas.tsx MIN_CANVAS_HEIGHT 600px 보장
여유 행 PopCanvas.tsx CANVAS_EXTRA_ROWS 항상 3행 추가
격자 행 수 PopRenderer.tsx gridCells maxRowEnd + 5 동적 계산

드래그 앤 드롭

기능 파일 함수/컴포넌트 설명
드롭 영역 PopCanvas.tsx useDrop 캔버스에 컴포넌트 드롭
좌표 계산 gridUtils.ts mouseToGridPosition() 마우스 → 그리드 좌표
빈 위치 찾기 gridUtils.ts findNextEmptyPosition() 자동 배치
DnD 타입 정의 PopCanvas.tsx DND_ITEM_TYPES 인라인 정의

편집

기능 파일 함수/컴포넌트 설명
위치 편집 ComponentEditorPanel.tsx position 탭 col, row 수정
크기 편집 ComponentEditorPanel.tsx position 탭 colSpan, rowSpan 수정
라벨 편집 ComponentEditorPanel.tsx settings 탭 컴포넌트 라벨
표시/숨김 ComponentEditorPanel.tsx visibility 탭 모드별 표시

레이아웃 관리

기능 파일 함수/컴포넌트 설명
컴포넌트 추가 pop-layout.ts addComponentToV5Layout() v5에 컴포넌트 추가
빈 레이아웃 pop-layout.ts createEmptyPopLayoutV5() 초기 레이아웃 생성
타입 가드 pop-layout.ts isV5Layout() v5 여부 확인

상태 관리

기능 파일 함수/컴포넌트 설명
레이아웃 상태 PopDesigner.tsx useState<PopLayoutDataV5> 메인 레이아웃
히스토리 PopDesigner.tsx history[], historyIndex Undo/Redo
선택 상태 PopDesigner.tsx selectedComponentId 현재 선택
모드 상태 PopDesigner.tsx currentMode 그리드 모드

저장/로드

기능 파일 함수/컴포넌트 설명
레이아웃 로드 PopDesigner.tsx useEffect 화면 로드 시
레이아웃 저장 PopDesigner.tsx handleSave() 저장 버튼
API 호출 screen.ts (lib/api) screenApi.saveLayoutPop() 백엔드 통신

뷰포트/줌

기능 파일 함수/컴포넌트 설명
프리셋 전환 PopCanvas.tsx VIEWPORT_PRESETS 4개 모드 (width만, height 제거)
줌 컨트롤 PopCanvas.tsx canvasScale 30%~150%
패닝 PopCanvas.tsx Space + 드래그 캔버스 이동
모드 감지 pop-layout.ts detectGridMode() 너비 기반 모드 판별

브레이크포인트

기능 파일 함수/컴포넌트 설명
그리드 설정 pop-layout.ts GRID_BREAKPOINTS 모드별 칸 수, gap, padding
모드 감지 pop-layout.ts detectGridMode() viewportWidth → GridMode
훅 연동 useDeviceOrientation.ts BREAKPOINTS.TABLET_MIN 768px (태블릿 경계)

자동 줄바꿈/검토

기능 파일 함수/컴포넌트 설명
자동 배치 gridUtils.ts convertAndResolvePositions() col > maxCol → 맨 아래 배치
검토 필요 판별 gridUtils.ts needsReview() 오버라이드 없으면 true
검토 패널 PopCanvas.tsx ReviewPanel 검토 필요 컴포넌트 목록

파일별 주요 기능

파일 핵심 기능
PopDesigner.tsx 레이아웃 로드/저장, 컴포넌트 CRUD, 히스토리
PopCanvas.tsx DnD, 줌, 패닝, 모드 전환, 행/열 라벨, 격자 토글
PopRenderer.tsx CSS Grid 렌더링, 격자 셀, 위치 변환, 컴포넌트 표시
ComponentEditorPanel.tsx 속성 편집 (위치, 크기, 설정, 표시)
ComponentPalette.tsx 컴포넌트 팔레트 (드래그 가능한 컴포넌트 목록)
pop-layout.ts 타입 정의, 유틸리티 함수, 상수
gridUtils.ts 좌표 계산, 겹침 감지, 자동 배치

새 기능 추가 시 해당 카테고리 테이블에 행 추가