feat(view): 3D 뷰에 전체 보기 버튼 다시 추가

- 부재 표시·시점 버튼과 같은 우측 패널에 배치
- ① 형상 생성에서는 기본이 전체 보기이며, 버튼으로 단일 보기와 전환
- 다른 단계에서는 버튼 비활성

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-27 15:33:53 +09:00
1 parent d2ebce026d
commit 60e50b1186
2 files changed
+10

No files matched your search

+1
View File
@@ -88,6 +88,7 @@
<summary>부재 표시 <span id="parts-count" class="panel-state"></span></summary>
<div id="parts"></div>
</details>
<button id="all-toggle" class="btn" type="button" aria-pressed="false" title="6기를 콘크리트만 한 화면에 (① 형상 생성)">전체 보기</button>
<div class="views-menu" id="views-menu">
<button id="views-toggle" class="btn views-toggle" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="views">시점</button>
<div id="views" class="views views-list" role="group" aria-label="시점" hidden></div>
+9
View File
@@ -612,6 +612,9 @@ let lastScrolledPier: string | null = null;
function renderAll(): void {
updatePartsCount();
const allToggle = $<HTMLButtonElement>('all-toggle');
allToggle.setAttribute('aria-pressed', String(state.allView));
allToggle.disabled = state.stage !== 'shape' || !state.piers.some((p) => p.model);
if (state.active !== lastScrolledPier) {
lastScrolledPier = state.active;
document.querySelector<HTMLButtonElement>('.pier-items [aria-pressed="true"]')?.scrollIntoView({ block: 'nearest' });
@@ -3243,6 +3246,12 @@ function restorePanel(id: string): void {
restorePanel('parts-info');
restorePanel('color-info');
$<HTMLButtonElement>('all-toggle').addEventListener('click', () => {
state.allView = !state.allView;
setupScene();
renderAll();
});
$<HTMLButtonElement>('views-toggle').addEventListener('click', () => setMenuOpen('views', $<HTMLDivElement>('views').hidden === true));
$<HTMLButtonElement>('origin-toggle').addEventListener('click', () => setMenuOpen('origin', $<HTMLSpanElement>('origin').hidden === true));
document.addEventListener('click', (ev) => {