diff --git a/B09_Estimation/B09_Estimation_UI_Tabs_Bill_Level.ts b/B09_Estimation/B09_Estimation_UI_Tabs_Bill_Level.ts index 19ed60576..742314f4e 100644 --- a/B09_Estimation/B09_Estimation_UI_Tabs_Bill_Level.ts +++ b/B09_Estimation/B09_Estimation_UI_Tabs_Bill_Level.ts @@ -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))); diff --git a/resources/tester/test_181_2_b09_box_pick.py b/resources/tester/test_181_2_b09_box_pick.py index f078bc23f..0233c6458 100644 --- a/resources/tester/test_181_2_b09_box_pick.py +++ b/resources/tester/test_181_2_b09_box_pick.py @@ -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 diff --git a/resources/tester/test_200_2_b09_bill_level_bar.py b/resources/tester/test_200_2_b09_bill_level_bar.py index c37ad1136..743aa8eaf 100644 --- a/resources/tester/test_200_2_b09_bill_level_bar.py +++ b/resources/tester/test_200_2_b09_bill_level_bar.py @@ -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]