From c1350a5b1f2cf5068a1fffd79087c6969079e2c3 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 30 Oct 2026 14:36:46 +0900 Subject: [PATCH] =?UTF-8?q?refactor(=EC=98=88=EC=A0=95=EB=85=B8=EC=84=A0):?= =?UTF-8?q?=20=EA=B5=AC=EC=97=AD=20=EB=AA=A9=EB=A1=9D=EC=9D=84=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EA=B0=80=20=EC=A7=81=EC=A0=91=20=EB=B6=99?= =?UTF-8?q?=EC=9E=84=20=E2=80=94=20=EC=86=8D=EC=84=B1=20=ED=8C=90=EC=9D=80?= =?UTF-8?q?=20=ED=8C=90=EB=A7=8C=20(PLAN=20597-1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- D03_PlanAnalysis/D03_PlanAnalysis_UI_Page.ts | 5 ++++- D03_PlanAnalysis/D03_PlanAnalysis_UI_Props.ts | 10 ++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/D03_PlanAnalysis/D03_PlanAnalysis_UI_Page.ts b/D03_PlanAnalysis/D03_PlanAnalysis_UI_Page.ts index a3c8746c4..92ee2603b 100644 --- a/D03_PlanAnalysis/D03_PlanAnalysis_UI_Page.ts +++ b/D03_PlanAnalysis/D03_PlanAnalysis_UI_Page.ts @@ -56,6 +56,7 @@ import { } from "./D03_PlanAnalysis_UI_Map"; import { createPlanMeasure } from "./D03_PlanAnalysis_UI_Measure"; import { createPlanPoints } from "./D03_PlanAnalysis_UI_Points"; +import { createPlanPieces } from "./D03_PlanAnalysis_UI_Pieces"; import { createPlanProps } from "./D03_PlanAnalysis_UI_Props"; import { lineLength, stationChainages } from "./logic/D03_PlanAnalysis_Draw"; import { @@ -146,6 +147,7 @@ export async function renderD03PlanAnalysis(root: HTMLElement): Promise { yearStart: () => yearStart, commit, }); + const pieces = createPlanPieces({ network: () => network, edit }); const measure = createPlanMeasure(() => z); const marks = createPlanPoints({ points: () => points, @@ -221,7 +223,7 @@ export async function renderD03PlanAnalysis(root: HTMLElement): Promise { const drawCard = createPanelCard("그리기", false); drawCard.append(draw.panel); const pieceCard = createPanelCard("구역 · 연도", false); - pieceCard.append(props.list); + pieceCard.append(pieces.list); const saveButton = createButton({ label: "저장", variant: "filled", onClick: () => void save() }); const resetButton = createButton({ label: "초기화", @@ -336,6 +338,7 @@ export async function renderD03PlanAnalysis(root: HTMLElement): Promise { }); map.redraw(); props.render(); + pieces.render(); marks.render(); retryButton.hidden = !editable || busy || !failed; if (!busy) diff --git a/D03_PlanAnalysis/D03_PlanAnalysis_UI_Props.ts b/D03_PlanAnalysis/D03_PlanAnalysis_UI_Props.ts index 12da5c3cc..0efadf9c6 100644 --- a/D03_PlanAnalysis/D03_PlanAnalysis_UI_Props.ts +++ b/D03_PlanAnalysis/D03_PlanAnalysis_UI_Props.ts @@ -8,7 +8,7 @@ * [방향 바꾸기] [갈래 시점 지정] [선 지움](선 하나일 때) · [마크 지움](마크 고름) · 보기만 계정 = 값만. * 측점 방향(585-3 · 요구 446 3) = 사용자가 정함 — 본선 = [방향 바꾸기] · 다른 선에 닿은 끝 = [갈래 시점 지정] * (그 점이 시점 · 꼬리에 닿은 머리 = 한 선으로 이음) · 자동 판정 없음. - * 좌측 「구역 · 연도」 목록 = `UI_Pieces.ts`. + * 좌측 「구역 · 연도」 목록 = `UI_Pieces.ts`(페이지가 붙임). * ========================================================================== */ import { createButton } from "@ui/ui_template_elements"; @@ -19,7 +19,6 @@ import { stationLabel } from "../common_util/common_util_station"; import { lineNames, setPiecesYear, type PlanNetwork } from "./logic/D03_PlanAnalysis_Plan"; import type { PlanEdit, PlanScope } from "./D03_PlanAnalysis_UI_Edit"; import { PLAN_STATION_INTERVAL_M } from "./D03_PlanAnalysis_UI_Map"; -import { createPlanPieces } from "./D03_PlanAnalysis_UI_Pieces"; /** 조각 연도 고를 수 — 사업연도 시작부터. */ const YEAR_SPAN = 10; @@ -38,9 +37,7 @@ export interface PlanPropsParams { export interface PlanProps { /** 지도 위 속성 판(지도 칸에 붙임). */ panel: HTMLElement; - /** 좌측 「구역 · 연도」 목록 몸. */ - list: HTMLElement; - /** 고름 · 꼴이 바뀜 — 판 · 목록 다시. */ + /** 고름 · 꼴이 바뀜 — 판 다시. */ render: () => void; /** 고를 해 — 사업연도 시작부터 열 해 + 조각에 있는 해. */ yearOptions: () => Array<{ value: string; text: string }>; @@ -56,7 +53,6 @@ export function createPlanProps(params: PlanPropsParams): PlanProps { float.root.classList.add("d03-plan__props"); float.root.dataset.role = "plan-props"; float.root.hidden = true; - const pieceList = createPlanPieces({ network: params.network, edit }); function yearOptions(): Array<{ value: string; text: string }> { const start = params.yearStart(); @@ -167,10 +163,8 @@ export function createPlanProps(params: PlanPropsParams): PlanProps { return { panel: float.root, - list: pieceList.list, render() { renderPanel(); - pieceList.render(); }, yearOptions, };