From becd53d3e22cc414735492c87fb4bb4795787408 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Tue, 21 Jan 2025 15:34:50 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=80fix:=20canvas=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=20=EB=B2=84=ED=8A=BC/=20=EB=82=98=EA=B0=80=EA=B8=B0=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EB=AC=B8=EA=B5=AC=20=EB=B0=8F=20=EC=9D=B4?= =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/CanvasMenu.jsx | 19 ++++++++++++++++++- src/hooks/usePlan.js | 2 ++ src/locales/ja.json | 3 +++ src/locales/ko.json | 3 +++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index cb2ab1e1..495bc781 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -245,6 +245,23 @@ export default function CanvasMenu(props) { await saveCanvas() } + // 나가기 버튼 클릭 + const handleLeaveCanvas = () => { + swalFire({ + text: getMessage('plan.message.leave'), + type: 'confirm', + confirmButtonText: getMessage('plan.message.corfirm.yes'), + cancelButtonText: getMessage('plan.message.confirm.no'), + confirmFn: async () => { + await handleSaveCanvas() + router.push(`/management/stuff/detail?objectNo=${objectNo}`) + }, + denyFn: () => { + router.push(`/management/stuff/detail?objectNo=${objectNo}`) + }, + }) + } + const [placementInitialId, setPlacementInitialId] = useState(uuidv4()) const placementInitialProps = { id: placementInitialId, @@ -531,7 +548,7 @@ export default function CanvasMenu(props) {
- +
)} diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index e44753d7..36d619c8 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -181,6 +181,7 @@ export function usePlan(params = {}) { setPlans((plans) => [...plans, { id: res.data, objectNo: objectNo, planNo: planNo, userId: userId, canvasStatus: canvasStatus }]) } updateCurrentPlan(res.data) + swalFire({ text: getMessage('plan.message.save') }) }) .catch((error) => { swalFire({ text: error.message, icon: 'error' }) @@ -200,6 +201,7 @@ export function usePlan(params = {}) { await promisePut({ url: '/api/canvas-management/canvas-statuses', data: planData }) .then((res) => { setPlans((plans) => plans.map((plan) => (plan.id === currentCanvasPlan.id ? { ...plan, canvasStatus: canvasStatus } : plan))) + swalFire({ text: getMessage('plan.message.save') }) }) .catch((error) => { swalFire({ text: error.message, icon: 'error' }) diff --git a/src/locales/ja.json b/src/locales/ja.json index e36e19b6..a70c8c41 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -305,6 +305,9 @@ "plan.message.confirm.delete": "PLAN을 삭제하시겠습니까?", "plan.message.save": "저장되었습니다.", "plan.message.delete": "삭제되었습니다.", + "plan.message.leave": "작성한 물건을 저장하시겠습니까? [아니오]를 선택한 경우, 저장하지 않고 물건현황 목록으로 이동합니다.", + "plan.message.confirm.yes": "예", + "plan.message.confirm.no": "아니오", "setting": "設定", "delete": "삭제(JA)", "delete.all": "전체 삭제(JA)", diff --git a/src/locales/ko.json b/src/locales/ko.json index 2043cdab..f5b5eb1f 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -310,6 +310,9 @@ "plan.message.confirm.delete": "PLAN을 삭제하시겠습니까?", "plan.message.save": "저장되었습니다.", "plan.message.delete": "삭제되었습니다.", + "plan.message.leave": "작성한 물건을 저장하시겠습니까? [아니오]를 선택한 경우, 저장하지 않고 물건현황 목록으로 이동합니다.", + "plan.message.corfirm.yes": "예", + "plan.message.confirm.no": "아니오", "setting": "설정", "delete": "삭제", "delete.all": "전체 삭제",