From 5bef49df886a5481594ec9ffc5bc5f70bdbe8bbc Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 21 Sep 2026 11:28:24 +0900 Subject: [PATCH] =?UTF-8?q?fix(M01):=20=EC=9D=BC=EC=9C=84=EB=8C=80?= =?UTF-8?q?=EA=B0=80=20=EB=A1=9C=EC=A7=81=20=EC=BB=A8=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=84=88=EB=A5=BC=20=EC=97=B4=20=EB=95=8C=20=EB=AA=A9=EB=A1=9D?= =?UTF-8?q?=EC=9D=B4=20=EC=98=A4=EA=B8=B0=20=EC=A0=84=20=E3=80=8C0=20?= =?UTF-8?q?=EC=A4=84=E3=80=8D=20=EB=B9=88=20=ED=91=9C=EA=B0=80=20=EB=B3=B4?= =?UTF-8?q?=EC=9D=B4=EB=8D=98=20=EA=B2=83=EC=9D=84=20=E3=80=8C=EB=B6=88?= =?UTF-8?q?=EB=9F=AC=EC=98=A4=EB=8A=94=20=EC=A4=91=E3=80=8D=20=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 첫 목록이 오기 전에는 표를 숨기고 「불러오는 중」 만 보임 · 목록이 오면 전체가 바로 뜸 - 새 탭에서 로그인 → 마스터 데이터 → 일위대가 로직 → 로직 열기 → 방식 C 기본 보기 · 새로 만들기 · 본떠 만들기 · 고급 단추가 보이는지 확인 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT --- M01_MasterData/M01_MasterData_UI_Logic_Page.ts | 12 ++++++++++-- M01_MasterData/M01_MasterData_UI_Logic_Text.ts | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/M01_MasterData/M01_MasterData_UI_Logic_Page.ts b/M01_MasterData/M01_MasterData_UI_Logic_Page.ts index 852e03b6..a815bb40 100644 --- a/M01_MasterData/M01_MasterData_UI_Logic_Page.ts +++ b/M01_MasterData/M01_MasterData_UI_Logic_Page.ts @@ -95,6 +95,8 @@ export async function mountM01Logic( const errors = el("div", { className: "m01-logic__reasons", attrs: { hidden: "" } }); const calc = el("aside", { className: "m01-logic__calc" }); const filterHost = el("div"); + const waiting = el("p", { className: "m01-logic__muted", text: tx("Loading") }); + let loaded = false; // 첫 목록이 오기 전에는 「0 줄」 빈 표를 보이지 않음 const pending = el("span", { className: "m01-logic__muted" }); const list = buildList((item) => void open(item.id, item.sub, item.key)); const back = createButton({ label: tx("Bar_Back"), variant: "ghost", onClick: () => show(null) }); @@ -172,7 +174,8 @@ export async function mountM01Logic( const drawEditor = (): void => { // 고른 로직이 없으면 목록 · 있으면 흐름 그림(기본) 또는 고급 = 호표 표 + 시험 계산 const listing = !opened; - list.root.hidden = !listing; + list.root.hidden = !listing || !loaded; + waiting.hidden = loaded; editor.hidden = back.hidden = viewButton.hidden = listing; calc.hidden = listing || view === "flow"; if (!opened) return; @@ -429,7 +432,10 @@ export async function mountM01Logic( el("div", { className: "m01-logic", children: [ - el("main", { className: "m01-logic__main", children: [bar, errors, list.root, editor] }), + el("main", { + className: "m01-logic__main", + children: [bar, errors, waiting, list.root, editor], + }), calc, ], }), @@ -445,6 +451,8 @@ export async function mountM01Logic( try { await reload(); + loaded = true; + drawEditor(); if (openKey) await openKeyOn(openKey); } catch (error) { showToast(error instanceof Error ? error.message : tx("Load_Failed"), "error"); diff --git a/M01_MasterData/M01_MasterData_UI_Logic_Text.ts b/M01_MasterData/M01_MasterData_UI_Logic_Text.ts index a727482f..49b4ec40 100644 --- a/M01_MasterData/M01_MasterData_UI_Logic_Text.ts +++ b/M01_MasterData/M01_MasterData_UI_Logic_Text.ts @@ -85,6 +85,7 @@ const TEXT = { Save_Failed: ["저장 못 함", "Save failed"], Save_Nothing: ["고친 것 없음", "Nothing to save"], Load_Failed: ["불러오지 못함", "Load failed"], + Loading: ["불러오는 중", "Loading"], Confirm_Delete: [ "로직 「{v}」 을 지울까요? [저장] 때 파일에서 빠짐", "Delete logic “{v}”? Removed on save",