- 공용 모달 바깥 누르기 = 누름 · 뗌 둘 다 배경일 때만 닫음(숫자 칸 끌기로 안 닫힘 · 평면도 ⚙ 포함 모든 openModal) - ⚙ 설정 모달(종단 · 횡단 · 토적 · 구조물 · 전개도) 폭 720 → 360 px · 그룹 상자(legend) · 맨 아래 단추 줄 하나([안내선 숨기기] [기본값] [취소] [확인]) - [확인] = 바뀐 것만 저장(축척 → 배치) 뒤 다시 그림 · 붉은 칸이면 꺼짐 · 횡단 [이 장] [모든 장] [배율 적용] 단추 → 「적용」 고르기 + [확인] - 축척 「자동」 체크 걷음 — 기본 = 지정값(종단 평면도 1/5,000 · 토적 X 1/2,000 · 전개도 X · Y 1/50) · 옛 null = 기본으로 읽음 - 낡은 시험 고침: 153-1(지운 buildCrossLayoutControls 대신 ⚙ 횡단 모달) · 212-3 · 180-3(안내선 단추 자리) · 280-5(자동 체크 · 단추 판정) · 485 축척 · 토적 · 종단 평면 칸(옛 자동 축척 값 → 지정 기본값) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
1021 B
TypeScript
20 lines
1021 B
TypeScript
/* =============================================================================
|
|
* B07_DesignDetail_Scale_Check.ts
|
|
* ⚙ 축척 칸(485-2) 판정 — 칸 글 → 분모(정수 · 범위 안) · 틀리면 까닭 글.
|
|
* 서버 `checked_scales`(`_Router_Support_Scale.py`)와 같은 규칙 — 범위는 서버가 내려 줌.
|
|
* ========================================================================== */
|
|
|
|
/** 칸 하나 읽기 — 숫자 · 까닭 글(틀림). */
|
|
export function readScaleAxis(raw: string, [low, high]: [number, number]): number | string {
|
|
const text = raw.trim().replace(/,/g, "");
|
|
const value = Number(text);
|
|
if (text === "" || !Number.isInteger(value) || value < low || value > high) {
|
|
return `1/${low.toLocaleString()}~1/${high.toLocaleString()} 사이 정수`;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
/** 보낼 값 — 기본값과 같으면 null(파일엔 기본 그대로 남김). */
|
|
export const scaleToSend = (value: number, fallback: number): number | null =>
|
|
value === fallback ? null : value;
|