feat(view): 3D 뷰에 전체 보기 버튼 다시 추가
- 부재 표시·시점 버튼과 같은 우측 패널에 배치 - ① 형상 생성에서는 기본이 전체 보기이며, 버튼으로 단일 보기와 전환 - 다른 단계에서는 버튼 비활성 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d2ebce026d
commit
60e50b1186
2 files changed
+10
No files matched your search
@@ -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>
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in new issue
Block a user