refactor(copy): 속성 복사의 원본 섹션 제거, 미리보기 표를 대상별 한 줄 요약으로
- 원본 교각은 패널 제목 아래 한 줄로 옮김 (별도 섹션 없음) - 적용 미리보기 표를 "교각 · 바뀌는 값 · 건너뜀" 한 줄 요약으로 바꿈 (고른 교각만) - 섹션 번호: 1 대상 교각, 2 복사할 항목, 3 변경 요약 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0dbd66d807
commit
9a338614a6
3 files changed
+13
-24
No files matched your search
+6
-13
@@ -151,17 +151,13 @@
|
||||
<section id="copy-panel" class="copy-panel" aria-labelledby="cp-title">
|
||||
<header class="copy-head">
|
||||
<h3 id="cp-title">속성 복사</h3>
|
||||
<p class="muted small">기준 교각의 설정을 다른 교각에 한 번에 적용합니다</p>
|
||||
<p class="num" id="cp-source"></p>
|
||||
<p class="muted small">기준 교각의 설정을 고른 교각에만 적용합니다 · 현재 입력값 기준 (미반영 변경 포함)</p>
|
||||
</header>
|
||||
<div class="dlg-body">
|
||||
<div class="dlg-col">
|
||||
<section>
|
||||
<h3>1 · 원본 교각</h3>
|
||||
<p id="cp-source" class="num"></p>
|
||||
<p class="muted small">현재 입력값 기준 (미반영 변경 포함)</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>2 · 대상 교각</h3>
|
||||
<h3>1 · 대상 교각</h3>
|
||||
<div class="cp-tools">
|
||||
<label class="chk"><input id="cp-same-type" type="checkbox" checked />원본과 같은 형식만</label>
|
||||
<button id="cp-select-same" class="btn-o small" type="button">같은 형식 모두 선택</button>
|
||||
@@ -171,7 +167,7 @@
|
||||
<p class="muted small">고른 교각에만 적용합니다. 고르지 않은 교각은 바뀌지 않습니다. 모델이 없는 교각은 고를 수 없습니다.</p>
|
||||
</section>
|
||||
<section>
|
||||
<h3>3 · 복사할 항목</h3>
|
||||
<h3>2 · 복사할 항목</h3>
|
||||
<div id="cp-items" class="cp-chips"></div>
|
||||
<p id="cp-none" class="muted small" hidden>이 부재는 복사 항목이 없습니다. 기둥·받침은 예정입니다.</p>
|
||||
<p class="muted small">복사하지 않는 값: 좌표 · IP · 받침 EL · 코핑 상면 EL · 기초 하단 EL · 지반고 · 기둥 높이 · 말뚝 선단 EL · 계단 구간</p>
|
||||
@@ -179,11 +175,8 @@
|
||||
</div>
|
||||
<div class="dlg-col">
|
||||
<section>
|
||||
<h3>4 · 적용 미리보기 (고른 교각만)</h3>
|
||||
<table id="cp-preview" class="grid-table">
|
||||
<thead><tr><th>대상</th><th>형식</th><th>바뀌는 값</th><th>건너뜀</th><th>내용</th></tr></thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
<h3>3 · 변경 요약 (고른 교각만)</h3>
|
||||
<div id="cp-preview" class="cp-lines"></div>
|
||||
<label class="chk"><input id="cp-regen" type="checkbox" checked />적용 후 고른 교각만 바로 다시 생성</label>
|
||||
<p class="muted small">적용하면 대상 교각마다 "변경 n건"이 표시되고, 입력 수정 카드에서 항목별로 되돌릴 수 있습니다.</p>
|
||||
</section>
|
||||
|
||||
+4
-11
@@ -700,8 +700,8 @@ function renderCopyTargets(): void {
|
||||
function renderCopyPreview(): void {
|
||||
const src = activePier();
|
||||
const items = chosenCopyItems();
|
||||
const body = $<HTMLTableElement>('cp-preview').tBodies[0];
|
||||
body.replaceChildren();
|
||||
const box = $('cp-preview');
|
||||
box.replaceChildren();
|
||||
let applied = 0;
|
||||
let skippedTotal = 0;
|
||||
const selected = selectedCopyTargets();
|
||||
@@ -712,15 +712,8 @@ function renderCopyPreview(): void {
|
||||
const skipped = plan.skipped.map((k) => k.reason);
|
||||
skippedTotal += skipped.length;
|
||||
if (plan.changes.length) applied++;
|
||||
const row = el('tr');
|
||||
row.append(
|
||||
el('td', t.input.name),
|
||||
el('td', t.input.type),
|
||||
el('td', String(plan.changes.length)),
|
||||
el('td', String(skipped.length)),
|
||||
el('td', [...labels, ...skipped].join(' · ') || '바뀌는 값 없음'),
|
||||
);
|
||||
body.appendChild(row);
|
||||
const detail = [...labels, ...skipped.map((r) => `건너뜀: ${r}`)].join(' · ') || '바뀌는 값 없음';
|
||||
box.appendChild(el('p', `${t.input.name} · ${detail}`, 'cp-line'));
|
||||
}
|
||||
const n = selected.length;
|
||||
$('cp-summary').textContent = `${src?.input.name ?? ''} → ${n}기 · 항목 ${items.length}개 · 건너뜀 ${skippedTotal}건`;
|
||||
|
||||
@@ -821,6 +821,9 @@ body { background: #eef1f4; font-family: 'Noto Sans KR', system-ui, sans-serif;
|
||||
/* Import preview: all piers' 받침·IP rows scroll inside the dialog. */
|
||||
.pv-scroll { max-height: 240px; overflow: auto; }
|
||||
|
||||
/* 속성 복사: one line per target in the change summary. */
|
||||
.copy-panel .cp-line { margin: 2px 0; font-size: 12px; }
|
||||
|
||||
/* 속성 복사: an inline panel at the bottom of the 부재별 편집창 (was a modal dialog). */
|
||||
.copy-panel { margin-top: 12px; border-top: 1px solid #d5dde6; padding-top: 10px; }
|
||||
.copy-panel .copy-head h3 { margin: 0 0 4px; font-size: 13px; }
|
||||
|
||||
Reference in new issue
Block a user