From 0dbd66d80779c1c45d5e48147f1f901b856bf2a6 Mon Sep 17 00:00:00 2001 From: ypshim Date: Tue, 27 Oct 2026 16:38:22 +0900 Subject: [PATCH] =?UTF-8?q?refactor(copy):=20=EC=86=8D=EC=84=B1=20?= =?UTF-8?q?=EB=B3=B5=EC=82=AC=EB=A5=BC=20=E2=91=A1=20=ED=98=95=EC=83=81?= =?UTF-8?q?=EA=B3=84=ED=9A=8D=20=EB=B6=80=EC=9E=AC=20=ED=8C=A8=EB=84=90?= =?UTF-8?q?=EC=97=90=EB=A7=8C=20=EB=91=90=EA=B3=A0=20=E2=91=A0=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 복사 패널을 ② 부재 패널(다시 생성 아래)로 옮김. ①의 수정 카드에는 없음 - ①의 부재 선택 드롭다운과 관련 코드 제거 (②의 부재 목록을 그대로 사용) Co-Authored-By: Claude Haiku 5.5 --- index.html | 95 ++++++++++++++++++++++++++--------------------------- src/main.ts | 16 --------- 2 files changed, 46 insertions(+), 65 deletions(-) diff --git a/index.html b/index.html index 2844978..21161fc 100644 --- a/index.html +++ b/index.html @@ -67,55 +67,6 @@

-
-
-

속성 복사

-

기준 교각의 설정을 다른 교각에 한 번에 적용합니다

-
-
-
-
-

1 · 원본 교각

-

-

현재 입력값 기준 (미반영 변경 포함)

-
-
-

2 · 대상 교각

-
- - - -
-
-

고른 교각에만 적용합니다. 고르지 않은 교각은 바뀌지 않습니다. 모델이 없는 교각은 고를 수 없습니다.

-
-
-

3 · 복사할 항목

- -
- -

복사하지 않는 값: 좌표 · IP · 받침 EL · 코핑 상면 EL · 기초 하단 EL · 지반고 · 기둥 높이 · 말뚝 선단 EL · 계단 구간

-
-
-
-
-

4 · 적용 미리보기 (고른 교각만)

- - - -
대상형식바뀌는 값건너뜀내용
- -

적용하면 대상 교각마다 "변경 n건"이 표시되고, 입력 수정 카드에서 항목별로 되돌릴 수 있습니다.

-
-
-
-
- - -
-
@@ -197,6 +148,52 @@

+
+
+

속성 복사

+

기준 교각의 설정을 다른 교각에 한 번에 적용합니다

+
+
+
+
+

1 · 원본 교각

+

+

현재 입력값 기준 (미반영 변경 포함)

+
+
+

2 · 대상 교각

+
+ + + +
+
+

고른 교각에만 적용합니다. 고르지 않은 교각은 바뀌지 않습니다. 모델이 없는 교각은 고를 수 없습니다.

+
+
+

3 · 복사할 항목

+
+ +

복사하지 않는 값: 좌표 · IP · 받침 EL · 코핑 상면 EL · 기초 하단 EL · 지반고 · 기둥 높이 · 말뚝 선단 EL · 계단 구간

+
+
+
+
+

4 · 적용 미리보기 (고른 교각만)

+ + + +
대상형식바뀌는 값건너뜀내용
+ +

적용하면 대상 교각마다 "변경 n건"이 표시되고, 입력 수정 카드에서 항목별로 되돌릴 수 있습니다.

+
+
+
+
+ + +
+
diff --git a/src/main.ts b/src/main.ts index eed4924..b7b5985 100644 --- a/src/main.ts +++ b/src/main.ts @@ -656,8 +656,6 @@ let copyItemChoice = new Set(DEFAULT_COPY_ITEMS); function renderCopyItems(): void { const box = $('cp-items'); box.replaceChildren(); - const select = $('cp-member'); - if (select.options.length === 0) for (const m of MEMBERS) select.appendChild(new Option(m.label, m.id)); const items = copyItemsFor(state.member); for (const item of items) { const label = el('label', undefined, 'chk'); @@ -674,7 +672,6 @@ function renderCopyItems(): void { box.appendChild(label); } $('cp-none').hidden = items.length > 0; - select.value = state.member; } function renderCopyTargets(): void { @@ -1082,19 +1079,10 @@ function wireRebarPicking(): void { }); } -/** The 속성 복사 panel sits at the bottom of the 부재별 편집창: the ① edit card, or the ② member panel. */ -function placeCopyPanel(): void { - const host = state.stage === 'plan' ? $('member-regen').parentElement : $('edit-regen').parentElement; - if (host) host.appendChild($('copy-panel')); - // ① has no 부재 list of its own, so the copy panel carries the selector; ② uses its 부재 list. - $('cp-member-row').hidden = state.stage !== 'shape'; -} - function setStage(stage: Stage): void { // ① opens on 전체 보기 (default). The button is gone, so 전체 보기 returns each time ① is entered. if (stage === 'shape' && state.stage !== 'shape') state.allView = true; state.stage = stage; - placeCopyPanel(); // Switching 전체 보기 on or off in ① needs the scene rebuilt for the new layout. if ((allPiers !== null) !== multiSceneOn()) setupScene(); if (state.scene) setRebarView(state.scene, stage === 'rebar'); @@ -3103,10 +3091,6 @@ $('cp-clear').addEventListener('click', () => { renderCopyTargets(); renderCopyPreview(); }); -$('cp-member').addEventListener('change', (ev) => { - state.member = (ev.target as HTMLSelectElement).value as MemberId; - renderAll(); -}); $('cp-regen').addEventListener('change', renderCopyPreview); $('cp-apply').addEventListener('click', applyCopyPanel); $('sv-save').addEventListener('click', confirmSaveDialog);