CrownyDoc 스프레드시트 Phase 2 약점 보완 (#111-120)
개요
CrownyDoc Office Suite 스프레드시트 모듈의 10개 약점(#111~#120)을 한 번에 구현했다.
무엇을 했는가
생성 파일
/Users/ef/CrownyDoc/한선씨/정적/sheet-phase2.js — 1431줄, 62KB, 10개 클래스
/Users/ef/CrownyDoc/한선씨/시트/페이즈2.한선 — 한선씨 동반 파일
수정 파일
/Users/ef/CrownyDoc/한선씨/정적/index.html — sheet-phase2.js 스크립트 태그 추가 (sheet-powertools.js 직후)
/Users/ef/CrownyDoc/benchmark-weaknesses.json — #111~#120 status: done
구현 내용
| ID | 클래스 | 핵심 |
|---|
| #111 | CrownySlicer | 피벗 필터 위젯, 드래그 가능, 다중선택 |
| #112 | CrownyPowerQuery | 7단계 파이프라인 다이얼로그 (가져오기→필터→정렬→그룹화→조인→피벗→내보내기) |
| #113 | CrownyRef3D | Sheet1:Sheet3!A1 패턴, CrownyFormula 패치, SUM 3D |
| #114 | CrownyRegex | REGEXMATCH/REGEXREPLACE/REGEXEXTRACT 수식엔진 등록 |
| #115 | CrownyDualAxisChart | SVG 이중축, 좌/우 Y축 독립 스케일, 시리즈별 축 지정 |
| #116 | CrownyHierChart | SVG 트리맵(스쿼리파이드) + 선버스트(도넛형 원형) |
| #117 | CrownyCellImage | =IMAGE("url") 수식, 셀 내부 img 렌더 |
| #118 | CrownyCheckboxCell | TRUE/FALSE 셀 → 체크박스/스위치 위젯, 클릭 토글 |
| #119 | CrownyGaugeChart | SVG 반원 게이지(0~100%) + 도넛 차트 |
| #120 | CrownyCellNote | 우상단 빨간 삼각형 마커, 호버 툴팁, 편집 다이얼로그 |
공통 구조
- 단일 IIFE 패턴, 전역 변수 오염 최소화
- autoInit() 블록: 수식 엔진 3개(3D참조/REGEX/IMAGE) 자동 패치
- DOMContentLoaded 이후 시트 훅 연결 (CellImage, Checkbox)
- CSS 200+ 줄: sheet 셀 내 위젯, 슬라이서, 파워쿼리 다이얼로그, 게이지/도넛, 노트 툴팁
검증
node --check: 통과 (구문 오류 없음)
- benchmark-weaknesses.json: 10개 done 확인
잔여 이슈
- #113 3D 참조: SUM 외 다른 집계함수(AVERAGE, COUNT 등) 3D 지원 미완
- #112 파워쿼리 조인(Join): UI만 있고 실제 조인 로직은 "준비 중" 상태
- CrownySheet._renderCellContent 훅은 해당 메서드가 시트 엔진에 있을 때만 작동 — 없으면 no-op