임동욱 임동욱 08-20
fix: 파일 선택을 취소하면 모달이 닫히던 문제
``은 파일 선택 창을 닫을 때 cancel 이벤트를 **버블링**으로 낸다. FoxModal이
``의 onCancel으로 Esc를 가로채고 있어서, 파일 입력에서 올라온 cancel까지 같은 핸들러에
잡혀 onClose가 불렸다. 첨부파일이 있는 모달 전부(게시판 등록·수정, 꾸미기 아이템 등록·수정)가
영향을 받았다.

대상이 dialog 자신일 때만 닫기로 본다.

검증 — 파일 입력에서 버블링 cancel을 보내면 모달이 열린 채로 남고, dialog 자신의 cancel(Esc)은
그대로 닫힌다.

Co-Authored-By: Claude Opus 5 
@6d9cbcf502ddd1230d8dee1d80a0fcb6591bd0ac
@fox/core/components/fox-modal/fox-modal.tsx
--- @fox/core/components/fox-modal/fox-modal.tsx
+++ @fox/core/components/fox-modal/fox-modal.tsx
@@ -73,6 +73,10 @@
       className={cx("fox-modal", `fox-modal--${size}`, className)}
       // Esc는 브라우저가 닫아 버리므로 막고, 닫을지는 호출부가 정하게 한다.
       onCancel={(event) => {
+        // 파일 선택 취소도 cancel을 버블링시킨다 — 대상이 dialog일 때만 닫기로 본다.
+        if (event.target !== event.currentTarget) {
+          return;
+        }
         event.preventDefault();
         onClose();
       }}
Add a comment
List