fix(B09): 설계내역서 레벨 안내 글 짧은 한 줄 · 잘릴 때만 호버 · 시험 기대값 정리(236-2)

- 레벨 안내 글에서 「=」 꼴 설명 · 긴 호버 설명 지움
- test_181_2 danger 색 수 5(204-1 끌기 못 놓음 점선) · test_200_2 안내 글 기대값

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jonfdxn1Xit9bdkNJpE4G
This commit is contained in:
2026-10-10 19:13:43 +09:00
co-authored by Claude Sonnet 5.5
parent b6d8983dd7
commit 3cb67d1762
3 changed files with 9 additions and 15 deletions
@@ -26,17 +26,7 @@ const ACTS: [string, string][] = [
["↓ 아래로", "아래로 ↓"],
];
const GUIDE =
"레벨 — 줄을 누르고 단추 · 방향키 ←→ 레벨 · ↑↓ 옮김(Tab · Shift+Tab · Alt+↑↓ 도) · 줄 끌기 · " +
"입력 = 더블클릭 · Enter · F2(Esc · Enter = 끝)";
const GUIDE_MORE =
"레벨 = 공종 · 명칭 칸 왼쪽 들여쓰기(레벨마다 한 칸) · 묶음 금액 = 아래 줄 합 · " +
"들여쓰기 = 바로 위 줄 아래로(항목이면 저절로 묶음 · 자식이 다 빠진 묶음 = 다시 항목) · " +
"내어쓰기 = 부모 묶음 밖으로(맨 위 공종은 [새 공종 추가]) · " +
"위로 · 아래로 = 같은 부모 안에서 아래 줄째 자리 바꿈 · 못 하는 동작 = 흐린 단추 · " +
"끌기 = 줄을 잡아 위아래 = 자리 · 좌우 = 레벨(아래 줄째 · 빨간 선 = 못 놓음) · " +
"키는 글 칸 편집 중이 아닐 때(Esc = 편집 끝 · 한 번 더 Esc = 고름 풂) · " +
"묶음 줄로 바꾸기 · 추가 · 지우기 = 줄 우클릭";
const GUIDE = "줄 누르고 단추 · 방향키 ←→ 레벨 · ↑↓ 자리 · 줄 끌기 · 더블클릭 · Enter · F2 입력";
let picked: string | null = null;
/** 지금 그린 도구 줄 — 키가 부름 */
@@ -135,7 +125,7 @@ export function levelBar(
const guide = document.createElement("p");
guide.className = "ui-general-block__empty b09-estimation__line-hint";
guide.textContent = GUIDE;
attachHoverInfo(guide, GUIDE_MORE);
attachHoverInfo(guide, (el) => (el.scrollWidth > el.clientWidth ? el.textContent : null)); // 236-2 잘릴 때만
const sync = (): void => {
const acts = menuActs(table, index());
ACTS.forEach(([, label], k) => (buttons[k].disabled = !acts.has(label)));
+3 -1
View File
@@ -71,6 +71,8 @@ def test_글_접기_없음_CSS_잇기():
page = (ROOT / "B09_Estimation" / "B09_Estimation_UI_Page.css").read_text("utf-8")
for sel in ("tr.is-pick td", "tr.is-pick.is-pick-top td", "tr.is-pick.is-pick-end td"):
assert sel in page
assert page.count("var(--color-danger)") == 4 # 위 · 아래 · 왼 · 오른 2px
assert (
page.count("var(--color-danger)") == 5
) # 위 · 아래 · 왼 · 오른 2px + 204-1 끌기 못 놓음 점선
shell = (ROOT / "B09_Estimation" / "B09_Estimation_UI_Shell.ts").read_text("utf-8")
assert "extra?: (index: number) => string | null" in shell
@@ -141,8 +141,10 @@ def test_단추_넷_고른_줄_못_하면_흐림():
out = _bar()
assert out["labels"] == [["→ 들여쓰기", IN, "ghost"], ["← 내어쓰기", OUT, "ghost"],
["↑ 위로", UP, "ghost"], ["↓ 아래로", DOWN, "ghost"]] # fmt: skip
assert "Tab" in out["guide"] and "Shift+Tab" in out["guide"] and "Alt+↑↓" in out["guide"]
assert out["hover"] == 1 # 안내 한 줄 = 공용 호버로 자세히
assert (
"방향키" in out["guide"] and "더블클릭" in out["guide"] and "=" not in out["guide"]
) # 236-2
assert out["hover"] == 1 # 안내 한 줄 = 잘릴 때만 공용 호버(236-2)
assert out["none"] == [True] * 4 # 고른 줄 없음 = 모두 흐림
# earth:4 = 1.1 첫 줄 — 들여(위 형제 없음) · 위로 = 못 함 · 내어 · 아래로 = 됨(184-3 메뉴와 같음)
assert out["earth4"] == [True, False, True, False]