From 545b704e8a8ea04f06f59adf550ebefa31332908 Mon Sep 17 00:00:00 2001 From: minsik Date: Thu, 31 Oct 2024 14:30:12 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=8B=A4=EA=B5=AD=EC=96=B4=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/auxiliary/AuxiliarySize.jsx | 12 ++++++------ src/locales/ja.json | 4 +++- src/locales/ko.json | 4 ++++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/components/floor-plan/modal/auxiliary/AuxiliarySize.jsx b/src/components/floor-plan/modal/auxiliary/AuxiliarySize.jsx index 49cd2570..a7828223 100644 --- a/src/components/floor-plan/modal/auxiliary/AuxiliarySize.jsx +++ b/src/components/floor-plan/modal/auxiliary/AuxiliarySize.jsx @@ -13,7 +13,7 @@ export default function AuxiliarySize(props) {
-

補助線サイズ変更

+

{getMessage('modal.auxiliary.size.edit')}

@@ -22,7 +22,7 @@ export default function AuxiliarySize(props) {
- +
@@ -31,7 +31,7 @@ export default function AuxiliarySize(props) { mm
- 長さ + {getMessage('length')}
@@ -41,7 +41,7 @@ export default function AuxiliarySize(props) {
- +
@@ -50,7 +50,7 @@ export default function AuxiliarySize(props) { mm
- 長さ + {getMessage('length')}
@@ -58,7 +58,7 @@ export default function AuxiliarySize(props) {
- +
diff --git a/src/locales/ja.json b/src/locales/ja.json index 6838dc58..73141fb0 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -293,10 +293,12 @@ "contextmenu.select.move": "선택・이동(JA)", "contextmenu.wallline.remove": "외벽선 삭제(JA)", "contextmenu.size.edit": "サイズ変更", + "modal.auxiliary.size.edit": "補助線サイズ変更", + "modal.auxiliary.size.edit.point": "支店", "contextmenu.auxiliary.move": "補助線の移動", "modal.auxiliary.move": "補助線の移動", "modal.auxiliary.move.info": "移動する方向を入力してください", - "contextmenu.auxiliary.copy": "コピーする方向を入力してください", + "contextmenu.auxiliary.copy": "補助線のコピー", "modal.auxiliary.copy": "補助線のコピー", "modal.auxiliary.copy.info": "コピーする方向を入力してください", "contextmenu.auxiliary.remove": "보조선 삭제(JA)", diff --git a/src/locales/ko.json b/src/locales/ko.json index 1e8cb1bb..e1230a15 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -298,10 +298,14 @@ "contextmenu.select.move": "선택・이동", "contextmenu.wallline.remove": "외벽선 삭제", "contextmenu.size.edit": "사이즈 변경", + "modal.auxiliary.size.edit": "보조선 사이즈 변경", + "modal.auxiliary.size.edit.point": "지점", "contextmenu.auxiliary.move": "보조선 이동", "modal.auxiliary.move": "보조선 이동", "modal.auxiliary.move.info": "이동할 방향을 입력해주세요.", "contextmenu.auxiliary.copy": "보조선 복사", + "modal.auxiliary.copy": "보조선 복사", + "modal.auxiliary.copy.info": "복사할 방향을 입력해주세요.", "contextmenu.auxiliary.remove": "보조선 삭제", "contextmenu.auxiliary.vertical.bisector": "보조선 수직이등분선", "contextmenu.auxiliary.cut": "보조선 절삭", From 6929878ccae984c74bc14956098150ee9f13f2c5 Mon Sep 17 00:00:00 2001 From: minsik Date: Thu, 31 Oct 2024 14:30:45 +0900 Subject: [PATCH 2/3] =?UTF-8?q?context=20menu=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useContextMenu.js | 4 ++-- src/hooks/usePopup.js | 5 +++-- src/store/popupAtom.js | 6 ++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/hooks/useContextMenu.js b/src/hooks/useContextMenu.js index 99fa585f..e60b80ae 100644 --- a/src/hooks/useContextMenu.js +++ b/src/hooks/useContextMenu.js @@ -10,7 +10,7 @@ import GridMove from '@/components/floor-plan/modal/grid/GridMove' import GridCopy from '@/components/floor-plan/modal/grid/GridCopy' import ColorPickerModal from '@/components/common/color-picker/ColorPickerModal' import { gridColorState } from '@/store/gridAtom' -import { contextPopupPositionState } from '@/store/popupAtom' +import { contextPopupPositionState, contextPopupState } from '@/store/popupAtom' import AuxiliaryCopy from '@/components/floor-plan/modal/auxiliary/AuxiliaryCopy' import SizeSetting from '@/components/floor-plan/modal/object/SizeSetting' import RoofMaterialSetting from '@/components/floor-plan/modal/object/RoofMaterialSetting' @@ -37,7 +37,7 @@ export function useContextMenu() { const currentMenu = useRecoilValue(currentMenuState) // 현재 메뉴 const setContextPopupPosition = useSetRecoilState(contextPopupPositionState) // 현재 메뉴 const [contextMenu, setContextMenu] = useState([[]]) // 메뉴.object 별 context menu - const [currentContextMenu, setCurrentContextMenu] = useState(null) // 선택한 contextMenu + const [currentContextMenu, setCurrentContextMenu] = useRecoilState(contextPopupState) // 선택한 contextMenu const currentObject = useRecoilValue(currentObjectState) const { getMessage } = useMessage() const { addPopup } = usePopup() diff --git a/src/hooks/usePopup.js b/src/hooks/usePopup.js index 37730ec5..b126996d 100644 --- a/src/hooks/usePopup.js +++ b/src/hooks/usePopup.js @@ -1,14 +1,15 @@ import { useRecoilState } from 'recoil' -import { popupState } from '@/store/popupAtom' +import { contextPopupState, popupState } from '@/store/popupAtom' export function usePopup() { const [popup, setPopup] = useRecoilState(popupState) - + const [contextMenuPopup, setContextMenuPopup] = useRecoilState(contextPopupState) const addPopup = (id, depth, component) => { setPopup({ children: [...filterDepth(depth), { id: id, depth: depth, component: component }] }) } const closePopup = (id) => { + if (contextMenuPopup) setContextMenuPopup(null) setPopup({ children: [...filterChildrenPopup(id).filter((child) => child.id !== id)] }) } diff --git a/src/store/popupAtom.js b/src/store/popupAtom.js index 498f4eed..c5c75501 100644 --- a/src/store/popupAtom.js +++ b/src/store/popupAtom.js @@ -12,6 +12,12 @@ export const popupState = atom({ dangerouslyAllowMutability: true, }) +export const contextPopupState = atom({ + key: 'contextPopupState', + default: null, + dangerouslyAllowMutability: true, +}) + export const contextPopupPositionState = atom({ key: 'contextPopupPositionState', default: { From dbb3a3fce0d0a38d31e50b7399c37b25e447ed32 Mon Sep 17 00:00:00 2001 From: minsik Date: Thu, 31 Oct 2024 14:31:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?modal=20hidden=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/object/ObjectSetting.jsx | 7 ++-- src/hooks/object/useObjectBatch.js | 36 ++++++++++++++----- 2 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/components/floor-plan/modal/object/ObjectSetting.jsx b/src/components/floor-plan/modal/object/ObjectSetting.jsx index 86a4f3a0..707e0c3a 100644 --- a/src/components/floor-plan/modal/object/ObjectSetting.jsx +++ b/src/components/floor-plan/modal/object/ObjectSetting.jsx @@ -19,7 +19,8 @@ export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { const canvas = useRecoilValue(canvasState) const [buttonAct, setButtonAct] = useState(1) const { swalFire } = useSwal() - const { applyOpeningAndShadow, applyDormers } = useObjectBatch() + const [isHidden, setIsHidden] = useState(false) + const { applyOpeningAndShadow, applyDormers } = useObjectBatch({ isHidden, setIsHidden }) const { closePopup } = usePopup() const surfaceShapePolygons = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF) @@ -58,6 +59,7 @@ export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { } //개구배치, 그림자배치 + setIsHidden(true) if (buttonAct === 1 || buttonAct === 2) { applyOpeningAndShadow(objectPlacement, buttonAct, surfaceShapePolygons) } else { @@ -71,9 +73,10 @@ export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { { id: 3, name: getMessage('modal.object.setting.type.triangle.dormer') }, { id: 4, name: getMessage('modal.object.setting.type.pentagon.dormer') }, ] + return ( -
+

{getMessage('plan.menu.placement.surface.object')}