Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1
This commit is contained in:
@@ -30,8 +30,8 @@ import { solveSplit, specKeys, type SplitRole } from "../A00_Common/design/desig
|
||||
export const hidesTypeSummary = (type: StructureType): boolean =>
|
||||
!!STRUCTURE_SPECS[type.type_id]?.containers.length || !!type.groups?.length || type.group === "B";
|
||||
|
||||
/** 길이 = 전 + 후 를 배관 맞물림(`solveSplit` · 마지막에 고친 둘을 지킴)으로 푸는 종류(표 07 가드레일). */
|
||||
const SOLVE_SPLIT = new Set(["guardrail"]);
|
||||
/** 길이 = 전 + 후 를 배관 맞물림(`solveSplit` · 마지막에 고친 둘을 지킴)으로 푸는 종류(표 07 가드레일 · 표 09 흙막이 · 옹벽). */
|
||||
const SOLVE_SPLIT = new Set(["guardrail", "soil_guard", "retaining_wall"]);
|
||||
const SPLIT_ROLE: Record<string, SplitRole> = {
|
||||
length_m: "length",
|
||||
before_m: "before",
|
||||
@@ -159,6 +159,22 @@ export function renderOptionFields(
|
||||
input.addEventListener("change", () => refresh(true));
|
||||
}
|
||||
});
|
||||
// 숨긴 길이 · 전 · 후(표 09 소단) — 칸은 안 그리고 값만 쥠: 범위 계산 · 저장이 옛 값 · 기본값을 이어 씀(54-26)
|
||||
for (const option of type.options) {
|
||||
if (!SPLIT_ROLE[option.key] || option.visible !== false) continue;
|
||||
const input = document.createElement("input");
|
||||
input.value = values[option.key] === undefined ? "" : String(values[option.key]);
|
||||
all.push({
|
||||
wrap: document.createElement("div"),
|
||||
entry: {
|
||||
key: option.key,
|
||||
required: false,
|
||||
input,
|
||||
read: () => Number(input.value) || 0,
|
||||
isEmpty: () => input.value.trim() === "",
|
||||
},
|
||||
});
|
||||
}
|
||||
/** 길이 · 전 · 후 맞물림 — 고친 차례(최근이 앞)를 쥐고 나머지 하나를 셈. */
|
||||
const recent: SplitRole[] = [];
|
||||
function solveInto(key: string): void {
|
||||
|
||||
Reference in New Issue
Block a user