fix(B07 CAD·M02): 가운데 단추 끌기 때 페이지가 같이 움직이던 것 · 집계표 미리보기는 보기 전용 조작
- 캔버스 가운데 단추 mousedown · auxclick 의 기본 동작(자동 스크롤 · 붙여넣기)을 막음 — 휠은 이미 passive:false 로 막음. pointerdown 은 막지 않음(막으면 mousedown 이 안 와 팬이 끊김). - 미리보기(viewOnly — M02 구조물집계표 「도면 정보」 카드): 왼쪽 끌기 = 화면 옮기기 · 휠 확대 · 두 번 누름 = 전체 맞춤 · 선택 · 가까운 개체 강조 · 스냅 · 십자 커서 · 명령 안내 · 좌표 풍선 없음(손 모양 커서). [도면 수정] 편집 화면 · 도면 양식 · B07 은 그대로. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K7JS47SacjPxZ718QsZKyr
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
getScreenCanvasDrawController,
|
||||
isDrawingDirty,
|
||||
isDrawingReadOnly,
|
||||
isViewOnly,
|
||||
resetUndoBaseline,
|
||||
setActiveLayerId,
|
||||
setDesignMeta,
|
||||
@@ -24,6 +25,7 @@ import {
|
||||
setHostSave,
|
||||
setHostTitle,
|
||||
setLayers,
|
||||
setViewOnly,
|
||||
} from '../state.ts';
|
||||
import { setInspectorCollapsed, setRibbonCollapsed } from '../components/ui-state.ts';
|
||||
import { toast } from 'react-toastify';
|
||||
@@ -62,6 +64,8 @@ interface DrawingLoadMessage {
|
||||
ribbonCollapsed?: boolean;
|
||||
/** 좌측 패널(특성 · 도면층)을 접힌 채로 여는가 — 없으면(B07) 지금 상태 그대로. */
|
||||
panelsCollapsed?: boolean;
|
||||
/** 미리보기 — 왼쪽 끌기 = 화면 옮기기 · 두 번 누름 = 전체 맞춤 · 선택 · 명령 안내 없음. */
|
||||
viewOnly?: boolean;
|
||||
}
|
||||
|
||||
interface DrawingSaveRequestMessage {
|
||||
@@ -112,6 +116,10 @@ function registerTextDoubleClickEdit() {
|
||||
const canvas = getCanvas();
|
||||
if (!canvas) return;
|
||||
canvas.addEventListener('dblclick', (event: MouseEvent) => {
|
||||
if (isViewOnly()) {
|
||||
getScreenCanvasDrawController().zoomToFitScreen();
|
||||
return;
|
||||
}
|
||||
if (isDrawingReadOnly()) {
|
||||
toast.info('확정한 도면입니다. 고치려면 [수정]을 먼저 누르세요.');
|
||||
return;
|
||||
@@ -214,6 +222,7 @@ export function registerAisloDrawingBridge() {
|
||||
setHostSave(event.data.hostSave === true);
|
||||
setRibbonCollapsed(event.data.ribbonCollapsed === true);
|
||||
if (event.data.panelsCollapsed) setInspectorCollapsed(true);
|
||||
setViewOnly(event.data.viewOnly === true);
|
||||
if (event.data.frameEdit) applyFramePreview();
|
||||
// 앞 도면에서 켜 둔 그리기 도구를 내린다. 안 내리면 **확정한 도면 위에도**
|
||||
// 그 도구가 계속 그린다 — 읽기 전용은 새 명령만 막기 때문이다(2026-09-01 실측:
|
||||
|
||||
Reference in New Issue
Block a user