fix(B06): 시설이 바뀌어도 고른 칸이 강조되게 이식을 다시 돌린다

벽 선택은 카드가 먼저 처리하고 폼 교체가 뒤따른다. 그래서 다른 기슭막이를 보다가
배관 유출 벽을 고르면, 이식 시점의 목적지 칸이 아직 이전 시설 것이라 행이 엉뚱한
칸으로 가고 강조도 남지 않았다. 폼이 갈아 끼워진 뒤 refreshAdjustSlots()로 한 번 더
이식한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-29 19:10:28 +09:00
co-authored by Claude Opus 5
parent 091a30286e
commit 9f014bdbff
2 changed files with 19 additions and 1 deletions
+11
View File
@@ -170,6 +170,17 @@ export function adoptAdjustPanel(panelRoot: HTMLElement): void {
relocateSideRows(panelRoot);
}
/**
* 이식을 **다시 한 번** 돌린다 — 폼이 다른 시설로 갈아 끼워진 뒤에 부른다.
* 벽 선택은 카드가 먼저 처리하고 폼 교체가 뒤따르므로, 처음 이식할 때는 목적지
* 칸(배관 유입구·유출구 / 독립 좌·우)이 아직 이전 시설 것이다(2026-08-30 사용자:
* 다른 기슭막이를 고른 뒤 배관 유출을 고르면 강조가 없다).
*/
export function refreshAdjustSlots(): void {
const panel = slot?.firstElementChild as HTMLElement | null;
if (panel) relocateSideRows(panel);
}
/** 이 사본이 슬롯에 서 있으면 내린다 — 다른 사본이 이미 대신 서 있으면 손대지 않는다. */
export function releaseAdjustPanel(panelRoot: HTMLElement): void {
if (!slot || !slot.contains(panelRoot)) return;
@@ -24,7 +24,12 @@ import {
} from "../B05_Profile/B05_Profile_Api_Structures";
import { fetchDetailPipePoints } from "../B04_PreProcess/B04_PreProcess_Api_Fetch";
import { showToast } from "@ui/ui_template_elements";
import { adjustDockRoot, resetAdjustDock, setAdjustSideSlots } from "./B06_Section_UI_Adjust_Dock";
import {
adjustDockRoot,
refreshAdjustSlots,
resetAdjustDock,
setAdjustSideSlots,
} from "./B06_Section_UI_Adjust_Dock";
import type { SectionDetailResponse } from "./B06_Section_Api_Fetch";
import type { StationControls } from "./B06_Section_UI_Page_Station_Controls";
@@ -411,6 +416,8 @@ export function wireStructureSelection(
origRevet(chainageM, key);
panel.showPipeAt(key ? ownerChainageOf(chainageM) : null);
if (key) syncInletStructure();
// 폼이 이 시설로 갈아 끼워진 뒤에 이식을 다시 돌린다 — 목적지 칸이 그제야 선다.
refreshAdjustSlots();
};
const origFord = stationControls.ford.select;