Files
Aislo/resources/tester/spreadsheet/harness_spreadsheet_d.cjs
T
eomsangdonandClaude Opus 5.5 a2011c8035 feat(spreadsheet): D 입력 — 고름 · 칸 편집기 · 한글 조합 · 수식 입력줄 · 참조 가리키기 · 단축키 · 채우기 끌기 · 잇기
- 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
2026-09-27 20:22:02 +09:00

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;