From 9424cd212974943bae6a2d8ca957c806827a3632 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 15 Sep 2026 19:28:09 +0900 Subject: [PATCH] =?UTF-8?q?feat(z01):=20=EA=B0=88=EB=9E=98=20=EB=8B=A4?= =?UTF-8?q?=EC=84=AF(=EC=A7=80=EB=AC=B8=20fingerprint=20=EB=8D=94=ED=95=A8?= =?UTF-8?q?=20=C2=B7=20=E3=80=8C=EC=A0=95=EB=B3=B8=20=EC=95=84=EB=8B=98?= =?UTF-8?q?=E3=80=8D=20=EB=94=B1=EC=A7=80=EB=8A=94=20=EB=B6=80=EC=82=B0?= =?UTF-8?q?=EB=AC=BC=EB=A7=8C)=20=C2=B7=20=EB=82=B1=EA=B0=92=20=EB=A7=88?= =?UTF-8?q?=EB=94=94(@values)=EB=8A=94=20=ED=91=9C=EB=93=A4=20=EB=B0=91?= =?UTF-8?q?=EC=97=90=20=C2=B7=20=ED=81=B0=20=ED=91=9C=20=EC=85=8B=20ORCA?= =?UTF-8?q?=20=ED=99=95=EC=9D=B8(40,000=EC=A4=84=20=ED=8A=B8=EB=A6=AC=20?= =?UTF-8?q?=ED=95=9C=20=EC=A4=84=20=C2=B7=20=EB=81=9D=20=EC=AA=BD=20?= =?UTF-8?q?=EB=B0=94=EB=A1=9C=20=C2=B7=20=EA=B2=B9=EC=B9=9C=20=EA=B2=80?= =?UTF-8?q?=EC=83=89=EC=9D=80=20=EC=B5=9C=EC=8B=A0=EB=A7=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq --- Z01_MasterData/Z01_MasterData_Api_Fetch.ts | 6 +++++- Z01_MasterData/Z01_MasterData_UI_Page.ts | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Z01_MasterData/Z01_MasterData_Api_Fetch.ts b/Z01_MasterData/Z01_MasterData_Api_Fetch.ts index ca287649..d2113c51 100644 --- a/Z01_MasterData/Z01_MasterData_Api_Fetch.ts +++ b/Z01_MasterData/Z01_MasterData_Api_Fetch.ts @@ -22,8 +22,12 @@ export interface MasterFile { tables: MasterTable[]; } +/** 표가 아닌 낱값(한 값짜리 요율 따위)을 모은 마디 — 여느 표처럼 이름·값 두 칸으로 옴. */ +export const VALUES_TABLE_ID = "@values"; + export interface MasterGroup { - key: "logic" | "base" | "byproduct" | "seed"; + /** fingerprint = 폴더 지문(_manifest) — 어느 판으로 셈했는지 못박는 자리(부산물 아님). */ + key: "logic" | "base_value" | "byproduct" | "seed" | "fingerprint"; label: string; files: MasterFile[]; } diff --git a/Z01_MasterData/Z01_MasterData_UI_Page.ts b/Z01_MasterData/Z01_MasterData_UI_Page.ts index b87be416..df8c6f5b 100644 --- a/Z01_MasterData/Z01_MasterData_UI_Page.ts +++ b/Z01_MasterData/Z01_MasterData_UI_Page.ts @@ -26,6 +26,7 @@ import { type MasterGroup, type MasterRows, type MasterTable, + VALUES_TABLE_ID, } from "./Z01_MasterData_Api_Fetch"; import { clampPage, @@ -92,7 +93,11 @@ function buildTree( file.label, file.label === file.key ? "" : file.key, ); - for (const table of file.tables) { + // 낱값 마디는 표들 밑에 — 누르면 여느 표와 같은 길로 그림(2026-09-15 브레인). + const ordered = [...file.tables].sort( + (a, b) => Number(a.id === VALUES_TABLE_ID) - Number(b.id === VALUES_TABLE_ID), + ); + for (const table of ordered) { const button = el("button", { className: "z01-master__table", attrs: { type: "button", title: table.key },