Files
Aislo/resources/tester/helper_748_2_formula_tokens.cjs
T
eomsangdonandClaude Sonnet 5.5 0c0d0ce629 feat(748-2): 텍스트 수식 — 행 고르기 걷음 · 변수 이름 · 값 하나하나 누르면 줄 모달(748-1) · 줄마다 옵션 값 칩 걷음(748-3 한 조각)
- 텍스트 수식 줄 hover · 누름 고정(행 단위 선택) 걷음
- 변수 이름 식 = 변수 이름마다 낮은 단추 · 값 든 식 = 수 하나하나 낮은 단추 → 같은 줄의 상세 모달(적용 · 삭제 · 닫기)
- 변수가 시험 입력(옵션)이면 옵션 고르기 칩으로
- 공용 상세 `lineOpener` 새로 — M02 SK 상세 · M01 단가산출 기초 같은 길(M01 = 시험 고침 고리)
- 상세 보기 줄마다 붙던 옵션 값 칩(`쓰는입력`) 걷음 — 위 옵션 칸이 대신(748-3)
- 새 파일 `LogicLab_FormulaTokens`(조각 나누기 순수 셈) · 시험 test_748_2 · 낡은 시험 고침 test_722(inputChip 줄 걷음)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:15:33 +09:00

21 lines
1.0 KiB
JavaScript

/* PLAN 748-2 헬퍼 — 텍스트 수식 조각 나누기(`M01_MasterData_UI_LogicLab_FormulaTokens.ts` 순수 셈).
* 짝 = `test_748_2_formula_tokens.py`. 결과 = 표준출력 JSON.
*/
const path = require("path");
const { makeLoader } = require("./helper_ts_stub_loader.cjs");
const { load } = makeLoader({ root: path.join(__dirname, "..", "..") });
const m = load("M01_MasterData", "M01_MasterData_UI_LogicLab_FormulaTokens.ts");
const hot = (list) => list.filter((t) => t.hot).map((t) => t.text);
const name = "굴착기노무비단가 * 뒤채움및다짐소형장비.굴착기 * 8 / 시공량 = 굴착기노무비";
const value = "35,412 * 1 * 8 / 110 = 2,575";
const out = {
nameHot: hot(m.nameTokens(name)),
nameAll: m.nameTokens(name).map((t) => t.text),
fnCall: hot(m.nameTokens("올림(단가) + 1.5 - 보정")),
valueHot: hot(m.valueTokens(value)),
valueAll: m.valueTokens("13,873 = 13,873 · 21 %").map((t) => t.text),
empty: [m.nameTokens("").length, m.valueTokens("").length],
};
process.stdout.write(JSON.stringify(out));