fix: [planning-design] 올가미 선택 동작 안 되는 문제 수정

This commit is contained in:
김보곤
2026-03-08 00:29:01 +09:00
parent 7e0c99a9b3
commit c37adb1a7e

View File

@@ -1530,7 +1530,7 @@
@mousedown="sbCanvasMouseDown($event)"
@mousemove="sbCanvasMouseMove($event)"
@mouseup="sbCanvasMouseUp($event)"
@click.self="sbSelectedBlock = null; sbMultiSelected = []"
@click.self="if(!_sbLassoDone){ sbSelectedBlock = null; sbMultiSelected = []; } _sbLassoDone = false;"
style="min-height: 600px;">
{{-- Lasso rectangle --}}
<div class="sb-lasso-rect" x-show="_sbLasso" x-cloak
@@ -2000,6 +2000,7 @@ function planningCanvas() {
_sbMenuResize: null,
sbMultiSelected: [], // 다중 선택 블록 id 배열
_sbLasso: null, // { startX, startY, rx, ry, rw, rh }
_sbLassoDone: false, // 올가미 완료 직후 click.self 방지 플래그
_sbMultiDrag: null, // { startX, startY, origins: [{id, x, y}] }
_sbHistory: [],
_sbHistoryIdx: -1,
@@ -3066,8 +3067,9 @@ function planningCanvas() {
},
sbCanvasMouseDown(e) {
// 빈 캔버스 클릭 시 올가미 시작
if (e.target === this.$refs.sbCanvas || e.target.classList.contains('sb-blk-empty-area')) {
// 블록이나 리사이즈 핸들 위가 아니면 올가미 시작
const onBlock = e.target.closest('.sb-block');
if (!onBlock) {
this.sbEditingBlock = null;
const rect = this.$refs.sbCanvas.getBoundingClientRect();
const scrollL = this.$refs.sbCanvas.scrollLeft;
@@ -3156,6 +3158,7 @@ function planningCanvas() {
}
}
this._sbLasso = null;
this._sbLassoDone = true;
return;
}
// 다중 드래그 완료