- 셈 구동 떼기: 새 M01_MasterData_UI_Logic_Drive.ts(driveRun · previewText · autoFill · createDrive) — M01 상세는 숨은 시험 계산 칸 단추 대신 구동 함수 · 시험 계산 칸(Logic_Calc)은 로직 복사 화면이 쓰므로 남기고 같은 구동을 부름 · 재료 고름은 rerun 고리 - M02: 새 _Sangeun_Tabs.ts(수식 · 단가산출 상세 보기 고르기) · Detail 의 시험 계산 · 인력/재료/경비 걷음 - 걷은 파일(git rm): M01 LogicLab_Sheet · Logic_Sheet_Model · LogicLab_Formula(.ts .css) · FormulaTokens · LogicLab_Est / M02 Sangeun_Sheet(.ts .css) · SheetEdit · SheetFormula · logic Sheet_Model · Const_Model · Formula_Model · 부품 시트 줄(createCalcSheetRow) · Cover_Model.sheetGroups · Calc 의 M02 고리(answer · shown · held) · 죽은 CSS · 글 - 서버 길 · 문서 칸(변수줄 · 글줄 · 덮개)은 남김 — 금액 그대로 - 낡은 시험: test_790_1(시트 화면 전부) · test_714_3 · test_748_2(+ helper)는 화면이 없어져 지움 · test_794_1 · test_790_2 는 화면 · TS 거울만 덜고 서버 시험 남김 · test_714_2 · 717_2b · 721 · 722(원래 틀린 한 줄 고침) · 734 · 737 · 750_2 · 793_3b · 796_2 · 796_2b 는 보기 둘 · 새 파일에 맞춤 · 새 test_799_2_old_tabs_gone Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
53 lines
1.9 KiB
TypeScript
53 lines
1.9 KiB
TypeScript
/* =============================================================================
|
|
* M02_MasterTemplete_Sangeun_Tabs.ts
|
|
* M02 단가산출(SK) 상세 보기 고르기(PLAN 799-2 · 요구 655-8) — 수식(첫 탭 · 796-2b `_Sangeun_Equation`) · 단가산출 상세 둘.
|
|
* 시트 · 인력·재료·경비 · 시험 계산 · 텍스트 수식 보기는 걷음(옛 `_Sangeun_Sheet*` · 790-1) — 서버 문서 꼴(변수줄 · 글줄 · 덮개)은 그대로
|
|
* 수식 = 이 파일이 쥔 그릇 · 단가산출 상세 = 상세가 쥔 `editor`(수식일 때 숨김)
|
|
* ========================================================================== */
|
|
|
|
import { createSegment } from "@ui/ui_template_segment";
|
|
import { tl } from "../M01_MasterData/M01_MasterData_UI_LogicLab_Text";
|
|
import {
|
|
createSangeunEquation,
|
|
type SkEquationDraw,
|
|
type SkEquationOptions,
|
|
} from "./M02_MasterTemplete_Sangeun_Equation";
|
|
|
|
type View = "equation" | "ho";
|
|
|
|
/** 보기 고르기 · 수식 그릇 — `editor` = 단가산출 상세 그릇(수식일 때 숨김) */
|
|
export function createSangeunTabs(
|
|
editor: HTMLElement,
|
|
opt: SkEquationOptions,
|
|
): {
|
|
picker: HTMLElement;
|
|
host: HTMLElement;
|
|
draw: (d: SkEquationDraw) => void;
|
|
saved: () => void;
|
|
} {
|
|
const eqView = createSangeunEquation(opt);
|
|
const show = (v: View): void => {
|
|
eqView.root.hidden = v !== "equation";
|
|
editor.hidden = v === "equation";
|
|
if (!editor.hidden) editor.dataset.view = v;
|
|
};
|
|
const picker = createSegment({
|
|
options: [
|
|
{ value: "equation", label: tl("View_Equation") },
|
|
{ value: "ho", label: tl("Ho_Title") },
|
|
],
|
|
value: "equation",
|
|
size: 32,
|
|
ariaLabel: tl("View_Label"),
|
|
onChange: (v) => show(v as View),
|
|
});
|
|
picker.root.dataset.skViews = "";
|
|
show("equation");
|
|
return {
|
|
picker: picker.root,
|
|
host: eqView.root,
|
|
draw: eqView.draw,
|
|
saved: eqView.saved, // 796-2b 사본 할일 뗌
|
|
};
|
|
}
|