- spreadsheet.ts — createSpreadsheet 잇기(문맥 · 명령 → 되돌림 → 엔진 → 격자 · onChange · onSelect · 시트마다 고름 기억) · parts 한 곳(시험 틀이 빈 몸 부품을 바꿔 끼움)
- spreadsheet_selection.ts — 병합으로 늘림 · Shift/Ctrl 방향 · 숨김 건너뜀 · 행열 머리 · 고름 안 Enter/Tab 돌기
- spreadsheet_editor.ts — 숨은 textarea 늘 초점 · compositionstart/input 로 편집 시작 · enter/edit 방식 · 수식 입력줄 · 주소 상자 · 참조 넣기 · 색 테두리 · 입력 글 규칙(' · % · 천 단위)
- spreadsheet_keys.ts · spreadsheet_mouse.ts — 엑셀 단축키 · 끌기 고르기 · 채우기 핸들(늘림 · 줄여 지움 · 두 번 누르면 아래로) · 우클릭 자리
- 시험 resources/tester/spreadsheet — 규칙 7 묶음 · 가짜 부품 번들 시험 틀 html(ORCA)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L6KXAabDTenEU7hrDQmCKY
18 lines
870 B
JavaScript
18 lines
870 B
JavaScript
/* 스프레드시트 D 화면 시험 틀 입구 — 견본 통합문서를 띄우고 window.ss* 로 수치를 꺼냄(ORCA eval).
|
|
* 번들: node helper_spreadsheet_d_bundle.cjs harness → tmp/spreadsheet_d/harness.js */
|
|
const { createSpreadsheet } = require("../../../A00_Common/spreadsheet/spreadsheet");
|
|
const sample = require("../../../A00_Common/spreadsheet/spreadsheet_sample.json");
|
|
|
|
const host = document.getElementById("host");
|
|
window.ssSelect = null;
|
|
window.ssChanges = 0;
|
|
window.ssSample = JSON.parse(JSON.stringify(sample));
|
|
window.ss = createSpreadsheet(host, JSON.parse(JSON.stringify(sample)), {
|
|
onChange: () => window.ssChanges++,
|
|
onSelect: (s) => (window.ssSelect = s),
|
|
});
|
|
window.ssCreate = createSpreadsheet;
|
|
/** 칸 입력 값(A1) */
|
|
window.ssCell = (a1, sheet = "s1") =>
|
|
window.ss.getDoc().시트.find((s) => s.id === sheet).칸[a1] ?? null;
|