feat(M02): 항목 추가 창 = 종류 + 이름 + 일위대가 · 카드 넷 2×2 · 표 접기 (PLAN 31-2)
- 항목 추가(나무 「항목 추가」 · 「새 항목」) — 구조물 종류(있는 것 고름 · 새 이름 · 폴더를 골라 두었으면 그 안) + 이름 + 일위대가(세 층 조합 고르기 창 · 찾기 AND · 비워도 됨) · 단위 칸 없앰 · 빈 칸 안내 · 서버 add-item 이 일위대가 받음 - 일위대가 고르기 창을 pickCombo 로 내보내 표 칸 고르기와 같이 씀 - 카드 넷(도면 정보 · 면적산출 · 재료산출 · 선택 입력) 2행 2열 · 높이 360px · 넘치면 카드 안 스크롤 · 상세 칸 전체 스크롤(좁으면 1열) - 「구조물 조합」 제목을 누르면 표 접힘 · 펴짐 - 시험 — 항목 추가 서버 · 창 · 격자 · 접기 · 옛 단위 필수 시험을 31 정함으로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -161,11 +161,24 @@ export function createMain(
|
||||
const root = column;
|
||||
const isCombo = (at: Selection | null): boolean =>
|
||||
!!at && at.kind === "table" && at.name === STRUCTURE_TABLE && at.layer !== "project";
|
||||
// 찾기 칸 · 「새 항목」은 「구조물 조합」일 때만
|
||||
// 찾기 칸 · 「새 항목」 · 표 접기(제목)는 「구조물 조합」일 때만
|
||||
const showAside = (): void => {
|
||||
if (extras.search) extras.search.hidden = !isCombo(sel);
|
||||
if (extras.newItem) extras.newItem.hidden = !isCombo(sel);
|
||||
const combo = isCombo(sel);
|
||||
if (extras.search) extras.search.hidden = !combo;
|
||||
if (extras.newItem) extras.newItem.hidden = !combo;
|
||||
title.classList.toggle("m02-main__title--fold", combo);
|
||||
title.title = combo ? L("M02_TableFold") : "";
|
||||
if (!combo) {
|
||||
host.hidden = false; // 다른 상세(도면 · 면적 · 재료)는 늘 펼침
|
||||
title.classList.remove("is-folded");
|
||||
}
|
||||
};
|
||||
// 「구조물 조합」 표 접기(PLAN 31-2) — 제목을 누르면 표만 접힘 · 펴짐(카드 · 찾기는 그대로)
|
||||
title.addEventListener("click", () => {
|
||||
if (!isCombo(sel)) return;
|
||||
host.hidden = !host.hidden;
|
||||
title.classList.toggle("is-folded", host.hidden);
|
||||
});
|
||||
|
||||
let sel: Selection | null = null;
|
||||
let version = "";
|
||||
|
||||
Reference in New Issue
Block a user