fix(좌측 카드): 모든 좌측 카드 기본 닫힘 — 공용 카드 · 칸 틀 · 구조물 배치 · B07 묶음 · M02 구조물 집계 양식 (389-3)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
This commit is contained in:
2026-10-17 17:24:51 +09:00
co-authored by Claude Sonnet 5.5
parent c53cea0a4e
commit 5b3d1530ac
9 changed files with 39 additions and 23 deletions
@@ -19,7 +19,7 @@ function shortLabel(label: string, kindName: string): string {
export function buildDevelopmentSection(
items: DesignDrawingItem[],
makeButton: (drawing: DesignDrawingItem, label: string) => HTMLButtonElement,
collapsed = false,
collapsed = true,
): HTMLElement {
const section = createPanelCard(`전개도 ${items.length}`, collapsed);
section.classList.add("b07-drawing-group");
@@ -44,9 +44,6 @@ export const DRAWING_GROUPS: readonly {
{ label: "전개도", kind: "development" },
];
/** 311 기본 접힘 묶음 — 그 밖 묶음(토적도 등)은 기본 펼침. */
const FOLDED_KINDS = new Set(["plan", "longitudinal", "cross"]);
/** 311 지금 목록의 묶음 접힘(kind → 접힘) — 화면을 다시 세울 때 이어 받음 · B07 목록이 없으면 빈 것. */
export function foldedGroups(root: ParentNode): Map<string, boolean> {
return new Map(
@@ -69,7 +66,7 @@ export function buildDrawingSidePanel(
/** 311 다시 세울 때 옛 접힘(`foldedGroups`) — 없는 묶음은 기본값. */
folded = new Map<string, boolean>(),
): HTMLDivElement {
const isFolded = (kind: string): boolean => folded.get(kind) ?? FOLDED_KINDS.has(kind);
const isFolded = (kind: string): boolean => folded.get(kind) ?? true; // 389-3 모든 묶음 기본 닫힘
const panel = document.createElement("div");
panel.className = "b07-drawing-list";
const heading = document.createElement("div");
@@ -257,7 +257,7 @@ export function buildPlanSection(
items: DesignDrawingItem[],
makeButton: (drawing: DesignDrawingItem, label: string) => HTMLButtonElement,
onManage?: () => void,
collapsed = false,
collapsed = true,
): HTMLElement {
// 컨테이너 = 좌측 패널 공용 카드(269)
const section = createPanelCard(`평면도 ${items.length}`, collapsed);