← 목록
기타 2026-05-19 2KB 읽기 2분

슬라이드 표·차트 삽입 구현 (약점 #59, #60)

개요

CrownyDoc Office Suite 프레젠테이션 약점 2개를 보완. 슬라이드에 표(Table)와 차트(Chart)를 삽입하는 기능을 slide-core.js에 추가했다.

무엇을 했는지

약점 #59 — 표(Table) 삽입

  • _showTableDialog(): 행/열 입력 다이얼로그 (기본 3행×3열)
  • insertTable(rows, cols): HTML table 생성 후 슬라이드 캔버스에 삽입
  • 1행은 th(헤더, #f0f0ff 배경), 나머지는 td
  • 모든 셀 contentEditable=true로 인라인 편집 가능
  • border-collapse, 1px solid #ddd, padding 8px 기본 스타일
  • mousedown/mousemove로 드래그 이동 가능 (enableResize 패턴 적용)
  • 약점 #60 — 차트(Chart) 삽입

  • _showChartDialog(): 차트 종류(막대/원형/꺾은선) 선택 + 레이블·값 입력 다이얼로그
  • insertChart(type, data): 선택한 종류로 SVG 렌더링 후 슬라이드에 삽입
  • 드래그 이동, enableResize, autoSave 연동
  • _renderBarChart(data, w, h): 세로 막대, Y축/X축, 값 레이블, 7색 팔레트
  • _renderPieChart(data, w, h): 원형 파이, 비율(%) 라벨, 하단 범례
  • _renderLineChart(data, w, h): 꺾은선, 점 마커(circle), 그리드 선, Y축 눈금
  • 외부 라이브러리 사용 없음 — 순수 SVG 직접 렌더링
  • 한선씨 동반 파일

  • /Users/ef/CrownyDoc/한선씨/슬라이드/표차트.한선
  • 표셀생성, 표생성, 표래퍼생성, 막대차트, 꺾은선차트, 원형차트 함수 구현
  • 관련 파일 경로

    • /Users/ef/CrownyDoc/한선씨/정적/slide-core.js — 475줄 → 831줄 (+356줄)
    • /Users/ef/CrownyDoc/한선씨/슬라이드/표차트.한선 — 신규 (한선씨 동반)
    • /Users/ef/CrownyDoc/benchmark-weaknesses.json — #59, #60 status: done

    잔여 이슈

    • 원형(pie) 차트의 SVG arc 계산은 JS Math.cos/sin 의존 → 한선씨에서 삼각함수(사인, 코사인) 지원 확인 후 정밀 arc 경로 생성 가능
    • 표 데이터는 현재 DOM 기반으로 저장 (outerHTML). 재로드 시 재바인딩 로직 추가 필요
    • 차트 다이얼로그에서 데이터 미리보기 기능 추가 여지 있음