feat(785-6): 엑셀 보기에 줄 판 · 블록 판 · [옮기기] 이음

- Hopyo_Sheet.ts: [수정] = 시트 아래 줄 판(createJudgeRows · 그 호표 자리 뜀) · 오른쪽 판 아래 [옮기기](createJudgeMove) · 고름 캐시 한 벌 · 옮긴 뒤 목록 · 칠 · 단가산출 목록 다시 읽음
- Hopyo_SheetSk.ts: 단가산출 목록 = 새 블록 판정(hopyo-judge 목록 · 판정 · 고를 것 n · 표지 · 부름 · 만든 SK · 캐시 확인) · 줄 누름 = 그 자리 + 블록 판(createJudgeBlock)
- Hopyo_JudgeApi.ts: 목록 블록 줄 판정 · 고를수 · Block.ts 타입 흠 둘
- 낡은 시험 고침(까닭 = 785-6 이 옛 마법사 단가산출 칸 · 확인 창을 새 판으로 갈음): test_627_sheet_sk(판 바꿈 · 강조 · 뛰기를 새 목록으로 · helper_778_5 sheetSk 대역 새 꼴) · test_785_4 줄 판 자리 손잡이 · test_m02_hopyo_screen [수정] = 줄 판
- test_642_6: 엑셀 보기 이음 · 가운데 페이지 없음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-04 23:16:43 +09:00
co-authored by Claude Opus 5.5
parent 8fde93b910
commit dcecc0b326
10 changed files with 325 additions and 70 deletions
@@ -259,7 +259,7 @@ export function solvedBody(opt: SolvedBodyOptions): {
}
}
function candBox(sec: Section, cand: BaseCand): HTMLElement | null {
function candBox(cand: BaseCand): HTMLElement | null {
const p = picks.find((x) => x.갈래 === "기초" && x.키 === cand.키);
if (!p) return null;
const got = checked[cand.키];
@@ -279,7 +279,7 @@ export function solvedBody(opt: SolvedBodyOptions): {
function secBox(sec: Section, i: number): HTMLElement {
const box = el("div", { className: "m02-judge__sec", attrs: { "data-judge-sec": String(i) } });
const title = `${L("M02_JudgeSection")} ${sec.번 ?? i + 1}. ${sec.제목}`;
const chips = sec.후보.map((c) => {
const chips: HTMLElement[] = sec.후보.map((c) => {
const on = picks.some((x) => x.갈래 === "기초" && x.키 === c.키);
const chip = createToggle({ kind: "chip", label: `${c.키} ${c.이름}`, checked: on, disabled: opt.readOnly, onChange: () => put(togglePick(picks, basePick(c, sec))) }); // prettier-ignore
chip.root.dataset.judgeBase = c.키;
@@ -288,7 +288,7 @@ export function solvedBody(opt: SolvedBodyOptions): {
if (!chips.length) chips.push(createText(L("M02_JudgeNoBase"), "warning"));
box.append(bar([createText(title, "muted", 14), badge(sec.판정, "judgeSec")]), bar(chips));
for (const c of sec.후보) {
const cb = candBox(sec, c);
const cb = candBox(c);
if (cb) box.append(cb);
}
return box;