diff --git a/M02_MasterTemplete/M02_MasterTemplete_Sangeun_Detail.ts b/M02_MasterTemplete/M02_MasterTemplete_Sangeun_Detail.ts index 274ab9d44..3bbbde1dc 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Sangeun_Detail.ts +++ b/M02_MasterTemplete/M02_MasterTemplete_Sangeun_Detail.ts @@ -5,7 +5,7 @@ * 시험 계산(`Logic_Calc` · 바탕 M01 로직) · 텍스트 수식(바탕 M01 로직 식) · 기본정보 = 바탕 로직(맨 위 접힘) * 고침 = SK 덮개 · 더한줄(`Sangeun_Pick`) · 뺀줄(꼴 = 서버 `M02_Sangeun_Doc`) · 값 = 서버 셈 길 최신 응답만 * 시험 입력 = SK 셈 `입력값`(저장 안 함) · [저장] = 화면 문서 → 서버가 다시 셈(원값 · 바탕판) - * 바탕 없는 SK = [M01 로직 고름] → 바탕 · 단위 · 바탕 없이 줄만도 됨 + * 바탕 없는 SK = [기본 로직 선택] → 바탕 · 단위 · 바탕 없이 줄만도 됨 * ========================================================================== */ import { createBadge } from "@ui/ui_template_badge"; @@ -96,6 +96,20 @@ export function mountSangeunDetail( }), }); addButton.hidden = !edit; + const pick = createButton({ + label: L("M02_SangeunPickBase"), + variant: "filled", + size: 28, + onClick: () => + openLogicPicker((x) => { + doc.바탕 = { 로직: x.키 }; + delete doc.바탕판; // 새 바탕 — 개정 견줄 판 없음 + if (!doc.단위 || doc.단위 === "식") doc.단위 = unitOf(x.결과단위) || doc.단위; + touch(false); + void loadBase(); + }), + }); + pick.hidden = true; // 보임은 drawHead 가 정함 const baseHint = createText(L("M02_SangeunBaseViews")); host.replaceChildren( el("div", { @@ -104,7 +118,7 @@ export function mountSangeunDetail( children: [ head, notes, - el("div", { className: "m02-sk__head", children: [views.root, addButton, baseHint] }), + el("div", { className: "m02-sk__head", children: [views.root, pick, addButton, baseHint] }), editor, ], }), @@ -164,19 +178,6 @@ export function mountSangeunDetail( const baseName = base ? `${base.logic.키} ${base.logic.이름}` : null; const baseText = baseName ?? doc.바탕?.참조?.키 ?? L("M02_SangeunNoBase"); const revised = !!(doc.바탕판 && ans?.바탕판 && doc.바탕판 !== ans.바탕판); - const pick = createButton({ - label: L("M02_SangeunPickBase"), - variant: "filled", - size: 28, - onClick: () => - openLogicPicker((x) => { - doc.바탕 = { 로직: x.키 }; - delete doc.바탕판; // 새 바탕 — 개정 견줄 판 없음 - if (!doc.단위 || doc.단위 === "식") doc.단위 = unitOf(x.결과단위) || doc.단위; - touch(false); - void loadBase(); - }), - }); pick.hidden = !edit || !!doc.바탕 || !!doc.뺀줄?.length || !!Object.keys(doc.덮개 ?? {}).length; head.replaceChildren( field(L("M02_Name"), "이름"), @@ -191,7 +192,6 @@ export function mountSangeunDetail( ...(opened() ? [createBadge(L("M02_SangeunScaleOnly"), "warning")] : []), ], }), - pick, ); } diff --git a/ui_template/ui_template_locale_m2.ts b/ui_template/ui_template_locale_m2.ts index cd9687885..d7edfbbd0 100644 --- a/ui_template/ui_template_locale_m2.ts +++ b/ui_template/ui_template_locale_m2.ts @@ -202,8 +202,8 @@ export const ui_locales_m2 = { M02_SangeunRemoved: ["뺀 줄", "Removed rows"], M02_SangeunUnit: ["단위(1 단위 값)", "Unit (value per 1)"], M02_SangeunNeed: ["비우면 저장 안 됨", "Required"], - M02_SangeunPickBase: ["M01 로직 고름", "Pick M01 logic"], - M02_SangeunAddLine: ["줄 더하기", "Add row"], + M02_SangeunPickBase: ["기본 로직 선택", "Select base logic"], + M02_SangeunAddLine: ["항목 추가", "Add item"], M02_SangeunDrop: ["빼기", "Remove"], M02_SangeunRestore: ["되살리기", "Restore"], M02_SangeunWas: ["바탕", "Base"],