Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_3', 'origin/sub_laptop_4', 'origin/sub_laptop_6' and 'origin/sub_laptop_7' into sub_laptop_8

This commit is contained in:
2026-10-13 18:19:47 +09:00
45 changed files with 1505 additions and 100 deletions
+7 -3
View File
@@ -183,6 +183,7 @@ export function renderB09Estimation(root: HTMLElement): void {
const makeTable = (extra?: (index: number) => string | null): DataTable => {
const made = createDataTable({
...tableOptionsOf(spec, tab),
fillViewport: true, // 203 표 칸 = 창 끝 − 안내 글 영역(팝업 · 인쇄는 그대로)
rowClass: extra
? (i) => [spec.rowClass?.(i), extra(i)].filter(Boolean).join(" ") || null
: spec.rowClass,
@@ -230,7 +231,7 @@ export function renderB09Estimation(root: HTMLElement): void {
);
return made;
};
const hint = spec.hint ? lineHint(note(spec.hint)) : null; // 236-1 안내 글 = 한 줄
const hint = spec.hint ? lineHint(note(spec.hint)) : null; // 203 안내 글 = 줄 수 변수만큼 · 넘치면 스크롤
// 171-3 묶음 탭(일위대가표 · 중기사용료 · 단가산출근거) = 묶음 카드 기본 · 좌측 하단 스위치로 표(304-1)
if (isGroupTab(tab)) {
return void panel.replaceChildren(
@@ -259,7 +260,10 @@ export function renderB09Estimation(root: HTMLElement): void {
if (range) unpickOnRelease(table.root);
const level = bill ? levelBar(table.root, bill, (i) => table.edit(i)) : null;
if (level) bars.setTools(level.tools);
panel.replaceChildren(table.root, ...(level ? [level.guide] : []), ...(hint ? [hint] : []));
// 203 안내 글 영역 하나 — 설계내역서 레벨 안내 + 탭 안내 이어 붙임
if (level && hint) hint.textContent = `${level.guide.textContent} · ${hint.textContent}`;
const foot = hint ?? level?.guide;
panel.replaceChildren(table.root, ...(foot ? [foot] : []));
if (at >= 0) requestAnimationFrame(() => table.focusRow(at, false)); // 스크롤만(표시 = 빨강)
};
@@ -332,7 +336,7 @@ export function renderB09Estimation(root: HTMLElement): void {
});
reset.dataset.b09BillReset = "";
// 카드 = 좌측 패널 공용 카드(269 · 「구조물 배치」 양식)
const section = createPanelCard("데이터 점검");
const section = createPanelCard("데이터 점검", true); // 311 기본 접힘
section.append(refresh, check.list);
// 303-1 · 304-1 하단 고정 줄 — [박스보기|호표보기] · [하이퍼링크|팝업] · 초안 단추 · [?][저장][내역 초기화]
const actions = createDock([save, reset], () => isGroupTab(current) && show(current));