From a0cac795743a585437a6af7f93ec679b20ee9016 Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 09:34:08 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=E8=A3=9C=E5=8A=A9=E7=B7=9A=E3=81=AE?= =?UTF-8?q?=E4=BD=9C=E6=88=90=20=ED=86=A0=EA=B8=80=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/roofShape/RoofShapePassivitySetting.jsx | 12 +++++++++++- .../floor-plan/modal/roofShape/passivity/Eaves.jsx | 4 +++- .../floor-plan/modal/roofShape/passivity/Gable.jsx | 3 ++- .../floor-plan/modal/roofShape/passivity/Shed.jsx | 3 ++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx b/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx index 7530bcdd..c43c16ce 100644 --- a/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx +++ b/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx @@ -5,27 +5,34 @@ import Shed from '@/components/floor-plan/modal/roofShape/passivity/Shed' import { useMessage } from '@/hooks/useMessage' import { useRoofShapePassivitySetting } from '@/hooks/roofcover/useRoofShapePassivitySetting' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function RoofShapePassivitySetting({ id, pos = { x: 50, y: 230 } }) { const { handleSave, handleConfirm, handleRollback, buttons, type, setType, TYPES, offsetRef, pitchRef, pitchText } = useRoofShapePassivitySetting(id) const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const eavesProps = { offsetRef, pitchRef, pitchText, + disableKeypad, } const gableProps = { offsetRef, pitchRef, pitchText, + disableKeypad, } const shedProps = { offsetRef, + disableKeypad, } return ( @@ -55,7 +62,10 @@ export default function RoofShapePassivitySetting({ id, pos = { x: 50, y: 230 } -
+
+ diff --git a/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx b/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx index f3dd4052..3b775440 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx @@ -5,7 +5,7 @@ import { selectedRoofMaterialSelector } from '@/store/settingAtom' import { useEffect } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Eaves({ offsetRef, pitchRef, pitchText }) { +export default function Eaves({ offsetRef, pitchRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const currentAngleType = useRecoilValue(currentAngleTypeSelector) const selectedRoofMaterial = useRecoilValue(selectedRoofMaterialSelector) @@ -30,6 +30,7 @@ export default function Eaves({ offsetRef, pitchRef, pitchText }) { className="input-origin block" ref={pitchRef} value={currentAngleType === ANGLE_TYPE.SLOPE ? selectedRoofMaterial.pitch : selectedRoofMaterial.angle} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -52,6 +53,7 @@ export default function Eaves({ offsetRef, pitchRef, pitchText }) { value={offsetRef.current?.value ?? 500} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx b/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx index fe04a65e..a37f7072 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx @@ -3,7 +3,7 @@ import { useRecoilValue } from 'recoil' import { currentAngleTypeSelector } from '@/store/canvasAtom' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Gable({ offsetRef }) { +export default function Gable({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() const currentAngleType = useRecoilValue(currentAngleTypeSelector) return ( @@ -22,6 +22,7 @@ export default function Gable({ offsetRef }) { value={offsetRef.current?.value ?? 300} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx b/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx index 67a47bb0..0f33278f 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx @@ -1,7 +1,7 @@ import { useMessage } from '@/hooks/useMessage' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Shed({ offsetRef }) { +export default function Shed({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -19,6 +19,7 @@ export default function Shed({ offsetRef }) { value={offsetRef.current?.value ?? 300} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false -- 2.47.2 From 2c19a208cd5fa763bbc63971cabdabc1dc0bfc4b Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 09:36:50 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=E8=A3=9C=E5=8A=A9=E7=B7=9A=E3=81=AE?= =?UTF-8?q?=E4=BD=9C=E6=88=90=20=ED=86=A0=EA=B8=80=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/auxiliary/AuxiliaryDrawing.jsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx b/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx index d7a475a0..1bbec893 100644 --- a/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx +++ b/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx @@ -8,14 +8,17 @@ import { OUTER_LINE_TYPE } from '@/store/outerLineAtom' import OuterLineWall from '@/components/floor-plan/modal/lineTypes/OuterLineWall' import { useAuxiliaryDrawing } from '@/hooks/roofcover/useAuxiliaryDrawing' import { usePopup } from '@/hooks/usePopup' -import { useEffect } from 'react' +import { useEffect, useState } from 'react' import { useRecoilValue } from 'recoil' import { canvasState } from '@/store/canvasAtom' +import Image from 'next/image' export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { const canvas = useRecoilValue(canvasState) const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const types = [ { id: 1, name: getMessage('straight.line'), type: OUTER_LINE_TYPE.OUTER_LINE }, @@ -71,6 +74,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { length1Ref, arrow1, setArrow1, + disableKeypad, } const rightAngleProps = { @@ -84,6 +88,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const doublePitchProps = { @@ -105,6 +110,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow2, arrow1Ref, arrow2Ref, + disableKeypad, } const angleProps = { @@ -114,6 +120,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { length1, setLength1, length1Ref, + disableKeypad, } const diagonalLineProps = { @@ -130,6 +137,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const onClickButton = (button) => { @@ -160,7 +168,10 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { {buttonAct === 4 && } {buttonAct === 5 && }
-
+
+ -- 2.47.2 From 94f050d917ebf70a39f378544c2c01cab46b120c Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 09:57:28 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=E8=BB=92/=E3=82=B1=E3=83=A9=E3=83=90?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=20=ED=86=A0=EA=B8=80=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/eavesGable/EavesGableEdit.jsx | 17 +++++++++++++++-- .../floor-plan/modal/eavesGable/type/Eaves.jsx | 5 ++++- .../floor-plan/modal/eavesGable/type/Gable.jsx | 5 ++++- .../floor-plan/modal/eavesGable/type/Shed.jsx | 3 ++- .../modal/eavesGable/type/WallMerge.jsx | 3 ++- 5 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx b/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx index a59f8f27..341ecad8 100644 --- a/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx +++ b/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx @@ -6,10 +6,14 @@ import WallMerge from '@/components/floor-plan/modal/eavesGable/type/WallMerge' import Shed from '@/components/floor-plan/modal/eavesGable/type/Shed' import { useEavesGableEdit } from '@/hooks/roofcover/useEavesGableEdit' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { type, setType, buttonMenu, TYPES, pitchRef, offsetRef, widthRef, radioTypeRef, pitchText } = useEavesGableEdit(id) const eavesProps = { @@ -18,6 +22,7 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { widthRef, radioTypeRef, pitchText, + disableKeypad, } const gableProps = { @@ -26,15 +31,18 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { widthRef, radioTypeRef, pitchText, + disableKeypad, } const wallMergeProps = { offsetRef, radioTypeRef, + disableKeypad, } const shedProps = { offsetRef, + disableKeypad, } return ( @@ -48,8 +56,13 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { ))}
-
-
{getMessage('setting')}
+
+
+ {getMessage('setting')} + +
{type === TYPES.EAVES && } {type === TYPES.GABLE && } {type === TYPES.WALL_MERGE && } diff --git a/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx b/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx index fb4db8cd..78cbd55e 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx @@ -6,7 +6,7 @@ import { ANGLE_TYPE, currentAngleTypeSelector } from '@/store/canvasAtom' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText }) { +export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -43,6 +43,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (pitchRef?.current) pitchRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -77,6 +78,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (offsetRef?.current) offsetRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -144,6 +146,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (widthRef?.current) widthRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/Gable.jsx b/src/components/floor-plan/modal/eavesGable/type/Gable.jsx index b8eab8a7..ba947dec 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Gable.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Gable.jsx @@ -5,7 +5,7 @@ import { useRecoilValue } from 'recoil' import { ANGLE_TYPE, currentAngleTypeSelector } from '@/store/canvasAtom' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText }) { +export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -30,6 +30,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit className="input-origin block" ref={offsetRef} value={300} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -96,6 +97,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (pitchRef?.current) pitchRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -129,6 +131,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit ref={widthRef} value={800} readOnly={type === '1'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/Shed.jsx b/src/components/floor-plan/modal/eavesGable/type/Shed.jsx index 8ce6038a..724e6c40 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Shed.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Shed.jsx @@ -1,7 +1,7 @@ import { useMessage } from '@/hooks/useMessage' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Shed({ offsetRef }) { +export default function Shed({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -19,6 +19,7 @@ export default function Shed({ offsetRef }) { className="input-origin block" ref={offsetRef} value={300} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx b/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx index e398a2f1..18891015 100644 --- a/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx @@ -3,7 +3,7 @@ import Image from 'next/image' import { useState } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function WallMerge({ offsetRef, radioTypeRef }) { +export default function WallMerge({ offsetRef, radioTypeRef, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -61,6 +61,7 @@ export default function WallMerge({ offsetRef, radioTypeRef }) { ref={offsetRef} value={300} readOnly={type === '1'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), -- 2.47.2 From 84ac6d508fc0007e77275f24d88ceac3d23f11d4 Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 10:01:08 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=E6=A3=9F=E7=B7=9A=E7=A7=BB=E5=8B=95?= =?UTF-8?q?=E3=83=BB=E6=A1=81=E4=B8=8A=E3=81=92=E4=B8=8B=E3=81=92=20?= =?UTF-8?q?=ED=86=A0=EA=B8=80=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/movement/MovementSetting.jsx | 11 ++++++++++- .../floor-plan/modal/movement/type/FlowLine.jsx | 3 ++- .../floor-plan/modal/movement/type/Updown.jsx | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/components/floor-plan/modal/movement/MovementSetting.jsx b/src/components/floor-plan/modal/movement/MovementSetting.jsx index 46464538..8de192c3 100644 --- a/src/components/floor-plan/modal/movement/MovementSetting.jsx +++ b/src/components/floor-plan/modal/movement/MovementSetting.jsx @@ -3,16 +3,22 @@ import WithDraggable from '@/components/common/draggable/WithDraggable' import FlowLine from '@/components/floor-plan/modal/movement/type/FlowLine' import Updown from '@/components/floor-plan/modal/movement/type/Updown' import { useMovementSetting } from '@/hooks/roofcover/useMovementSetting' +import { useState } from 'react' +import Image from 'next/image' export default function MovementSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { TYPE, closePopup, buttonType, type, setType, FLOW_LINE_REF, UP_DOWN_REF, handleSave } = useMovementSetting(id) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const flowLineProps = { FLOW_LINE_REF, + disableKeypad, } const updownProps = { UP_DOWN_REF, + disableKeypad, } return ( @@ -30,7 +36,10 @@ export default function MovementSetting({ id, pos = { x: 50, y: 230 } }) { {type === TYPE.FLOW_LINE && } {type === TYPE.UP_DOWN && }
-
+
+ diff --git a/src/components/floor-plan/modal/movement/type/FlowLine.jsx b/src/components/floor-plan/modal/movement/type/FlowLine.jsx index d4267a27..0c38638d 100644 --- a/src/components/floor-plan/modal/movement/type/FlowLine.jsx +++ b/src/components/floor-plan/modal/movement/type/FlowLine.jsx @@ -9,7 +9,7 @@ const FLOW_LINE_TYPE = { UP_RIGHT: 'upRight', } -export default function FlowLine({ FLOW_LINE_REF }) { +export default function FlowLine({ FLOW_LINE_REF, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState(FLOW_LINE_TYPE.DOWN_LEFT) const [filledInput, setFilledInput] = useState('') @@ -87,6 +87,7 @@ export default function FlowLine({ FLOW_LINE_REF }) { value={filledInput} onFocus={handleFocus} onChange={(value)=>{setFilledInput(value)}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/movement/type/Updown.jsx b/src/components/floor-plan/modal/movement/type/Updown.jsx index ab88bbbf..a89ce39d 100644 --- a/src/components/floor-plan/modal/movement/type/Updown.jsx +++ b/src/components/floor-plan/modal/movement/type/Updown.jsx @@ -10,7 +10,7 @@ const UP_DOWN_TYPE = { DOWN: 'down', } -export default function Updown({ UP_DOWN_REF }) { +export default function Updown({ UP_DOWN_REF, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState(UP_DOWN_TYPE.UP) const [filledInput, setFilledInput] = useState('100') @@ -87,6 +87,7 @@ export default function Updown({ UP_DOWN_REF }) { value={filledInput} onFocus={handleFocus} onChange={(value)=>{setFilledInput(value)}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false -- 2.47.2 From 6967b8cda05547308a8d60c3c290807fecebbba3 Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 10:12:48 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=E5=A4=96=E5=A3=81=E3=81=AE=E7=B7=A8?= =?UTF-8?q?=E9=9B=86=E3=81=A8=E3=82=AA=E3=83=95=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=20=ED=86=A0=EA=B8=80=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/wallLineOffset/WallLineOffsetSetting.jsx | 11 ++++++++++- .../floor-plan/modal/wallLineOffset/type/Offset.jsx | 3 ++- .../floor-plan/modal/wallLineOffset/type/WallLine.jsx | 4 +++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx b/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx index 09c847e7..86ab5df6 100644 --- a/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx @@ -4,10 +4,14 @@ import WallLine from '@/components/floor-plan/modal/wallLineOffset/type/WallLine import Offset from '@/components/floor-plan/modal/wallLineOffset/type/Offset' import { useWallLineOffsetSetting } from '@/hooks/roofcover/useWallLineOffsetSetting' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { type, setType, @@ -30,12 +34,14 @@ export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { arrow2Ref, radioTypeRef, currentWallLineRef, + disableKeypad, } const offsetProps = { length1Ref, arrow1Ref, currentWallLineRef, + disableKeypad, } return ( @@ -54,7 +60,10 @@ export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { {type === TYPES.WALL_LINE_EDIT && } {type === TYPES.OFFSET && }
-
+
+ diff --git a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx index 79ae0898..8c4685ee 100644 --- a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx @@ -3,7 +3,7 @@ import { useEffect, useState } from 'react' import { useEvent } from '@/hooks/useEvent' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef }) { +export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef, disableKeypad }) { const { getMessage } = useMessage() const { addDocumentEventListener, initEvent } = useEvent() // const { addDocumentEventListener, initEvent } = useContext(EventContext) @@ -84,6 +84,7 @@ export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef }) { value={length1Ref.current?.value ?? 0} ref={length1Ref} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx index d78a202f..610780e6 100644 --- a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx @@ -3,7 +3,7 @@ import { forwardRef, useEffect, useImperativeHandle, useState } from 'react' import { useEvent } from '@/hooks/useEvent' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, arrow2Ref, radioTypeRef, currentWallLineRef }, ref) { +export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, arrow2Ref, radioTypeRef, currentWallLineRef, disableKeypad }, ref) { const { getMessage } = useMessage() const { addDocumentEventListener, initEvent } = useEvent() // const { addDocumentEventListener, initEvent } = useContext(EventContext) @@ -57,6 +57,7 @@ export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, ref={length1Ref} onChange={() => {}} readOnly={type !== 1} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -105,6 +106,7 @@ export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, ref={length2Ref} onChange={() => {}} readOnly={type !== 2} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false -- 2.47.2 From 76d3637a65720592c83aca2b44ea4978bd14337f Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 26 Mar 2026 10:37:26 +0900 Subject: [PATCH 6/6] =?UTF-8?q?[1798][=EB=B0=B0=EC=B9=98=EB=A9=B4=20?= =?UTF-8?q?=EA=B7=B8=EB=A6=AC=EA=B8=B0]=EC=9D=98=20=EC=98=A4=EB=A5=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/surface/usePlacementShapeDrawing.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hooks/surface/usePlacementShapeDrawing.js b/src/hooks/surface/usePlacementShapeDrawing.js index 374616be..3a6d1c05 100644 --- a/src/hooks/surface/usePlacementShapeDrawing.js +++ b/src/hooks/surface/usePlacementShapeDrawing.js @@ -7,6 +7,7 @@ import { useEffect, useRef } from 'react' import { fabric } from 'fabric' import { calculateAngle } from '@/util/qpolygon-utils' import { + OUTER_LINE_TYPE, placementShapeDrawingAngle1State, placementShapeDrawingAngle2State, placementShapeDrawingArrow1State, @@ -92,6 +93,7 @@ export function usePlacementShapeDrawing(id) { useEffect(() => { setPoints([]) + setType(OUTER_LINE_TYPE.OUTER_LINE) return () => { const placementShapeDrawingStartPoint = canvas.getObjects().find((obj) => obj.name === 'placementShapeDrawingStartPoint') -- 2.47.2