feat(M02): 구조물 조합 표 — 머리 이름 고침 = 나무 이름 바꾸기 · 단위 줄 숨김 · 열 폭 자동 · 마지막 분류 칸 강조 · 안내글 없앰 (PLAN 31-1)
- 표 부품 combo 선택(구조물 조합 표만): 단위 줄 · 옛 안내글 없음 · 열 폭 = 머리 이름 · 일위대가 키 · 도번 등 번호가 한 줄에 들게(저장 폭 안 씀 · 번호 줄 줄바꿈 없음) · 고른 열의 가장 깊은 이름 칸 강조(나무에서 고를 때도) · 방향키가 숨은 단위 줄을 안 밟음 - 머리 이름 칸 두 번 누르기 · F2 · Enter → headRenameEdit(가장 깊은 칸 = 항목 · 위 칸 = 폴더) → 나무 editFromTable(메뉴 이름 바꾸기와 같은 길 — 저장 물음 · 같은 이름 막음 안내 · 다시 그림) · 쓸 수 있는 층만 - 시험 test_m02_combo_table 3 · test_m02_combo_screen 머리 잠금 기대값 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
This commit is contained in:
@@ -118,6 +118,8 @@ export interface MainExtras {
|
||||
search?: HTMLElement;
|
||||
newItem?: HTMLElement;
|
||||
onColumn?: (column: string | null) => void;
|
||||
/** 구조물 조합 표 머리 이름 칸 고침 → 나무 이름 바꾸기(쓸 수 있는 층만 · PLAN 31-1) */
|
||||
onHeadRename?: (col: StructureColumn, level: number, name: string) => void;
|
||||
}
|
||||
|
||||
/** 상세 제목 줄 오른쪽 끝 「새 …」 단추 — 공용 모양 `m02-main__new`(일위대가 「새 조합」과 같게 · 30-5) */
|
||||
@@ -402,6 +404,16 @@ export function createMain(
|
||||
drawingLabel: (colId: string) => struct.numbers()[colId]?.도번 ?? "",
|
||||
areaLabel: (colId: string) => struct.numbers()[colId]?.면적번 ?? "",
|
||||
materialLabel: (colId: string) => struct.numbers()[colId]?.재료번 ?? "",
|
||||
combo: {
|
||||
...(readOnly || !extras.onHeadRename
|
||||
? {}
|
||||
: {
|
||||
onHeadEdit: (colId: string, level: number, name: string) => {
|
||||
const col = columns().find((c) => c.id === colId);
|
||||
if (col) extras.onHeadRename?.(col, level, name);
|
||||
},
|
||||
}),
|
||||
},
|
||||
onSelect: (s: { colId: string | null }) => {
|
||||
struct.show(s.colId, columns());
|
||||
extras.onColumn?.(s.colId);
|
||||
|
||||
Reference in New Issue
Block a user