diff --git a/B05_Profile/B05_Profile_UI_Drainage_Panel.ts b/B05_Profile/B05_Profile_UI_Drainage_Panel.ts index c65c6d1e8..ab255052d 100644 --- a/B05_Profile/B05_Profile_UI_Drainage_Panel.ts +++ b/B05_Profile/B05_Profile_UI_Drainage_Panel.ts @@ -34,6 +34,7 @@ import { snapStructureStation } from "../common_util/common_util_structure_stati import { createFacilityStore } from "./B05_Profile_UI_Drainage_Facility"; import { mergeFacilityOptions } from "./logic/B05_Profile_UI_Drainage_Facility_Merge"; import { readPendingPipes, writePendingPipes } from "./B05_Profile_Api_Pipes_Draft"; +import { pageReplaying } from "./B05_Profile_UI_Profile_History"; import { buildPipeReports } from "./B05_Profile_UI_Drainage_Report"; import { fillFordHeights, fordWaitsOf, waitsFordHeight } from "./B05_Profile_UI_Drainage_Ford_Fill"; import { createDrainageChrome } from "./B05_Profile_UI_Drainage_Chrome"; @@ -592,14 +593,13 @@ export function createDrainagePanel(callbacks: DrainagePanelCallbacks = {}): Dra const before = pipeEditor.pipes().map((pipe) => pipe.chainage_m); const next = reconcilePipes(pipeEditor.pipes(), chainages); if (!next) return; // 같은 목록 — 되돌아온 것이므로 여기서 끊는다 - // 되돌리기 = 그 걸음 초안의 속성 · id(369) · 구조물 폼으로 옮겨진 관은 속성을 데려감 - const draft = adoptDraftPipes(readPendingPipes(projectId as string), next); + // 되돌리기 = 그 걸음 초안의 속성 · id · 초안 없는 걸음은 저장분(369) · 구조물 폼은 속성 데려감 + const pending = pageReplaying() ? readPendingPipes(projectId as string) : null; + if (pageReplaying() && !pending) return void run(loadSaved, true); + const draft = adoptDraftPipes(pending, next); + const after = next.map((pipe) => pipe.chainage_m); if (draft) facilityStore.replaceFromResponse(draft); - else - facilityStore.follow( - before, - next.map((pipe) => pipe.chainage_m), - ); + else facilityStore.follow(before, after); pipeEditor.setPipes(next); void analyze(); },