feat(m02): 카드 · 면적 도면 패널 미리보기 탭 고르기 · 카드 저장 문서 전체(105-3)

- 카드 도면 미리보기 = mountStructureSheets(공용 탭 줄 · pickTabs 고르기만) · 「장 n」 배지 지움
- 카드 저장 = getDoc() 모든 장 — 2장 보다 Ctrl+S 해도 1장 그대로
- 면적 상세 오른쪽 도면 패널도 탭(고르기만 · 보내기는 지금 장)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
This commit is contained in:
2026-10-08 16:22:18 +09:00
co-authored by Claude Opus 5.5
parent 01d819bfb6
commit 36fc3d6c3b
6 changed files with 60 additions and 55 deletions
@@ -1,7 +1,7 @@
/* =============================================================================
* M02_MasterTemplete_AreaDrawing.ts
* 면적산출 상세 오른쪽 「도면」 패널 몸(PLAN 47-6) — 그 열 구조물 도면을 보기 · 고르기(고치기 없음).
* 처음 펼 때 읽고 그림 — 접힌 채 iframe 을 띄우지 않음.
* 처음 펼 때 읽고 그림 — 접힌 채 iframe 을 띄우지 않음. 여러 장 = 공용 탭 줄 고르기만(105-3 · 보내기는 지금 장).
* 83-3 — 머리 [면적산출로 보내기] = CAD 에 고른 범위 요청(`aislo:b08:export-table-request`) → 받은 표 자료
* (`aislo:b08:export-table` · CAD `integration/aislo-table-export.ts`)를 `onTable` 로(새 시트 만들기는 부른 쪽).
* CAD 명령 TOAREA 로 보낸 것도 같은 길. 고칠 수 없는 면적(읽기 층)이면 단추 없음.
@@ -9,7 +9,7 @@
import { createButton, el } from "@ui/ui_template_elements";
import { readTemplate, type Layer, type StructureDoc } from "./M02_MasterTemplete_Api_Fetch";
import { mountDrawingTemplate, type DrawingTemplateDoc } from "./M02_MasterTemplete_Drawing";
import { mountStructureSheets } from "./M02_MasterTemplete_Drawing";
import type { DrawingTable } from "./M02_MasterTemplete_AreaFromDrawing";
const TEXT = {
@@ -96,7 +96,8 @@ export function createAreaDrawing(
if (!doc?.도면) return note(TEXT.none);
stage.replaceChildren();
// 보기 전용 + 고르기(누름 · 끌기) — 미리보기(끌기 = 화면 옮기기)는 고르기가 꺼져 있어 안 씀
view = mountDrawingTemplate(stage, doc.도면 as unknown as DrawingTemplateDoc, {
const sheets = doc as unknown as Parameters<typeof mountStructureSheets>[1];
view = mountStructureSheets(stage, sheets, {
readOnly: true,
name: `preview:${column}`,
layer,
@@ -105,6 +106,7 @@ export function createAreaDrawing(
noArea: true,
frame: true,
noImport: true,
pickTabs: true,
});
frame = stage.querySelector("iframe");
if (frame) hideChrome(frame);