- 배수유역 판 켬끔(setVisible · drainage-visible 값) 지움 — 판은 늘 보임 · 접기 · 펼치기는 판 손잡이 하나로 · 옛 값 false 무시 - [새 창] 단추 = 도구 묶음 맨 앞(toolLead) — 다시 그릴 때마다 [초기화] 바로 왼쪽에 옮겨 붙임 · 열림 · 닫힘 동작 그대로 - 시험 test_282_1 추가 · 옛 단추를 찾던 시험(187-1 · drainage_side · profile_single) 새 꼴로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
33 lines
2.0 KiB
TypeScript
33 lines
2.0 KiB
TypeScript
/* =============================================================================
|
|
* B05_Profile_UI_Drainage_Side.ts
|
|
* 배수유역도를 종단도 오른쪽 판(`side`)으로 끼우는 홀로 선 함수(계획서 24-2c · 24-2e).
|
|
* 판 자리 약속은 `A00_Common/design/design_profile.ts` 의 `DesignSideFactory` 다 —
|
|
* `createDrainageSide` 가 그 모양 그대로다(`(host) => 판`).
|
|
*
|
|
* 판(`createDrainagePanel`)은 종단 패널을 모른다 — 종단쪽 일은 전부 `host`
|
|
* (`DrainagePanelCallbacks` + projectId · view, `_Panel_Types` 약속)로 받고, 종단쪽에서 들어오는 일은
|
|
* 판의 창구(`setRoute` · `setIntervalSpans` · `pipeChainages` · `setPipeChainages` ·
|
|
* `selectPipeAtChainage` …)로만 한다.
|
|
* · 관 목록이 바뀜(최소 흙덮기 경고 · 구조물 라인 · 통합 목록) = `host.onPipesChanged`
|
|
* · 관 자리 읽기 · 쓰기(되돌리기) = `pipeChainages()` · `setPipeChainages()`
|
|
* · 우클릭 메뉴의 구조물 종류 = `host.structureMenuItems`
|
|
* · 구간 띠 · 노선 = `setIntervalSpans()` · `setRoute()`
|
|
* 두 보기(종단 · 횡단)에서 같은 판을 끼운다 — 판은 늘 보이고 접기 · 펼치기는 판 안 손잡이 하나로.
|
|
* ========================================================================== */
|
|
|
|
import "./B05_Profile_UI_Style_Drainage.css"; // 홀로 서려면 판이 자기 모양을 들고 온다.
|
|
import type { DesignSideBoard, DesignSideHost } from "../A00_Common/design/design_profile";
|
|
import { createDrainagePanel } from "./B05_Profile_UI_Drainage_Panel";
|
|
|
|
/** 종단쪽이 넘기는 이음 — 판 바깥 약속(`DrainagePanelCallbacks`)에 projectId · view 를 더한 것. */
|
|
export type DrainageSideHost = DesignSideHost;
|
|
|
|
/** `DesignSideFactory` — 종단도를 만들 때 한 번 부른다. 접기 · 펼치기는 판 손잡이 몫. */
|
|
export function createDrainageSide(host: DrainageSideHost): DesignSideBoard {
|
|
return {
|
|
...createDrainagePanel(host),
|
|
// 보기가 바뀌어도 판은 다시 안 만든다.
|
|
setView: () => {},
|
|
};
|
|
}
|