feat(부품): 634-1 여럿 고르기 메뉴 · 한 행 두 영역 · 막힘 글 · 새 아이콘(요구 546)

- createPickMenu multi — menuitemcheckbox · 눌러도 안 닫힘 · values() · 줄 icon · disabled · title · setItem · 단추 ▾ + 켠 수 배지(0 = 없음) · 하나라도 켜면 눌림 · 밀기 · 창 크기 바뀌면 닫힘 · offLabel 없으면 끔 줄 · 눌림 없음
- createMapToolRow — 그룹1 왼쪽(행 반까지) · 그룹2 오른쪽 · 영역마다 min-width 0 + 자기 가로 밀기 · [?] 판은 행 아래
- mapToolTip — 평소 제목만 · 막힘 때만 「제목 — 까닭」 · MAP_TOOLS 글 = 표 호버제목
- 아이콘 — 묶음 넷(streams · signpost · parcelHouse · ban) · 겹친 셋 대신(contours · cutFill · lineament) · 스냅 간격 spacing
- 배지 count · accent 덧 · 부품 모음 견본 「고르기 메뉴(하나 · 여럿)」 · 지도 도구줄 한 행 견본
- 시험 568_1 고침 — 예정노선 둘 줄이 한 줄 꼴이 되어 목록에 잡힘 · 새 지킴 634_1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-01 11:26:52 +09:00
co-authored by Claude Opus 5.5
parent bbe3a05201
commit 2265ac4f7c
10 changed files with 339 additions and 57 deletions
+26 -2
View File
@@ -10,7 +10,8 @@ import { createFloatPanel } from "./ui_template_float_panel";
import { createFormGrid, createPageFrame } from "./ui_template_general_layout";
import { createInputField } from "./ui_template_input";
import { createListRow } from "./ui_template_list_row";
import { createMapTools, mapToolButton } from "./ui_template_map_tools";
import { createPickMenu } from "./ui_template_context_menu";
import { createMapToolRow, createMapTools, mapToolButton } from "./ui_template_map_tools";
import { createWorkflowPanelHandle } from "./ui_template_overlay";
import { createPanelHead } from "./ui_template_panel_head";
import { createPublicFrame } from "./ui_template_public_layout";
@@ -237,7 +238,30 @@ function mapTools(): HTMLElement {
],
});
tools.button("contour-minor")!.disabled = true;
return tools.root;
// 634-1 한 행 두 영역 — 왼쪽 겹 줄(단독 + 묶음 메뉴) · 오른쪽 도구줄
const water = createPickMenu({
multi: true,
icon: "streams",
title: "수계망도",
onPick: () => {},
items: [
{ value: "stream", label: "세류", icon: "droplet" },
{ value: "water", label: "하천", icon: "ripple" },
],
});
water.setItem("stream", { checked: true });
const layers = createMapTools({
label: "지도 겹",
groups: [
[
createIconButton({ icon: "satellite", title: "위성사진", size: 32, pressed: true }),
water.root,
],
],
});
const row = createMapToolRow(layers.root, tools.root);
row.style.width = "100%";
return row;
}
/** 열쇠 → 견본(상태별 · null = 그 상태 없음) */