diff --git a/public/static/images/common/Icon_OFF.png b/public/static/images/common/Icon_OFF.png new file mode 100644 index 00000000..a5f83b08 Binary files /dev/null and b/public/static/images/common/Icon_OFF.png differ diff --git a/public/static/images/common/Icon_OFF_Black.png b/public/static/images/common/Icon_OFF_Black.png new file mode 100644 index 00000000..c77f8311 Binary files /dev/null and b/public/static/images/common/Icon_OFF_Black.png differ diff --git a/public/static/images/common/Icon_ON.png b/public/static/images/common/Icon_ON.png new file mode 100644 index 00000000..07ba4c0a Binary files /dev/null and b/public/static/images/common/Icon_ON.png differ diff --git a/public/static/images/common/Icon_ON_Black.png b/public/static/images/common/Icon_ON_Black.png new file mode 100644 index 00000000..04c22ff7 Binary files /dev/null and b/public/static/images/common/Icon_ON_Black.png differ diff --git a/src/components/common/input/CalcInput.jsx b/src/components/common/input/CalcInput.jsx index e8a97b93..a92b86c7 100644 --- a/src/components/common/input/CalcInput.jsx +++ b/src/components/common/input/CalcInput.jsx @@ -3,7 +3,7 @@ import { createCalculator } from '@/util/calc-utils' import '@/styles/calc.scss' export const CalculatorInput = forwardRef( - ({ value, onChange, label, options = {}, id, className = 'calculator-input', readOnly = false, placeholder, name='', disabled = false, maxLength = 12 }, ref) => { + ({ value, onChange, label, options = {}, id, className = 'calculator-input', readOnly = false, placeholder, name='', disabled = false, maxLength = 12, disableKeypad = false }, ref) => { const [showKeypad, setShowKeypad] = useState(false) const [displayValue, setDisplayValue] = useState(value || '0') const [hasOperation, setHasOperation] = useState(false) @@ -478,7 +478,7 @@ export const CalculatorInput = forwardRef( maxLength={maxLength} /> - {showKeypad && !readOnly && ( + {showKeypad && !readOnly && !disableKeypad && (
+
@@ -2148,6 +2154,7 @@ export default function Estimate({}) { onChange={(value) =>{ onChangeAmount(value, item.dispOrder, index) }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -2205,6 +2212,7 @@ export default function Estimate({}) { onChangeSalePrice(value, item.dispOrder, index) }} maxLength={12} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index ac2b3ca4..983492bf 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -1,5 +1,6 @@ import { MODULE_SETUP_TYPE, POLYGON_TYPE } from '@/common/common' import WithDraggable from '@/components/common/draggable/WithDraggable' +import Image from 'next/image' import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation' import PitchPlacement from '@/components/floor-plan/modal/basic/step/pitch/PitchPlacement' import Placement from '@/components/floor-plan/modal/basic/step/Placement' @@ -75,6 +76,8 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { const { trigger: placementTrigger } = useCanvasPopupStatusController(3) const [roofsStore, setRoofsStore] = useRecoilState(roofsState) const [isFold, setIsFold] = useState(false) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad // const { initEvent } = useContext(EventContext) const { manualModuleSetup, autoModuleSetup, manualFlatroofModuleSetup, autoFlatroofModuleSetup, manualModuleLayoutSetup, restoreModuleInstArea } = @@ -235,6 +238,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { } const orientationProps = { + disableKeypad, roofs, setRoofs, tabNum, @@ -270,6 +274,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { updateObjectDataApi, } const trestleProps = { + disableKeypad, roofs, setRoofs, setRoofsStore, @@ -320,7 +325,10 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { )} -
+
+ {/* {tabNum === 1 && } */} {basicSetting.roofSizeSet && basicSetting.roofSizeSet != '3' && ( <> diff --git a/src/components/floor-plan/modal/basic/step/Orientation.jsx b/src/components/floor-plan/modal/basic/step/Orientation.jsx index fe00c93b..9fb66caf 100644 --- a/src/components/floor-plan/modal/basic/step/Orientation.jsx +++ b/src/components/floor-plan/modal/basic/step/Orientation.jsx @@ -24,6 +24,7 @@ export const Orientation = forwardRef((props, ref) => { const [moduleSeriesList, setModuleSeriesList] = useState([]) const [filteredModuleList, setFilteredModuleList] = useState([]) const { + disableKeypad, roofs, setRoofs, tabNum, @@ -462,6 +463,7 @@ export const Orientation = forwardRef((props, ref) => { setInputCompasDeg(value); } }} + disableKeypad={disableKeypad} options={{ allowNegative: true, allowDecimal: false @@ -564,6 +566,7 @@ export const Orientation = forwardRef((props, ref) => { className="input-origin block" value={inputMargin} onChange={(value) => setInputMargin(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -609,6 +612,7 @@ export const Orientation = forwardRef((props, ref) => { className="input-origin block" value={inputInstallHeight} onChange={(value) => handleChangeInstallHeight(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -649,6 +653,7 @@ export const Orientation = forwardRef((props, ref) => { className="input-origin block" value={inputVerticalSnowCover} onChange={(value) => handleChangeVerticalSnowCover(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/basic/step/Trestle.jsx b/src/components/floor-plan/modal/basic/step/Trestle.jsx index 4725962d..16fca772 100644 --- a/src/components/floor-plan/modal/basic/step/Trestle.jsx +++ b/src/components/floor-plan/modal/basic/step/Trestle.jsx @@ -14,7 +14,7 @@ import { normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' const Trestle = forwardRef((props, ref) => { - const { tabNum, setTabNum, trestleTrigger, roofs, setRoofs, moduleSelectionData, setModuleSelectionData, setRoofsStore } = props + const { tabNum, setTabNum, trestleTrigger, roofs, setRoofs, moduleSelectionData, setModuleSelectionData, setRoofsStore, disableKeypad } = props const { getMessage } = useMessage() // const [selectedTrestle, setSelectedTrestle] = useState() const currentAngleType = useRecoilValue(currentAngleTypeSelector) @@ -936,6 +936,7 @@ const Trestle = forwardRef((props, ref) => { className="input-origin block" value={eavesMargin ?? 0} onChange={(value) => setEavesMargin(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -961,6 +962,7 @@ const Trestle = forwardRef((props, ref) => { className="input-origin block" value={ridgeMargin ?? 0} onChange={(value) => setRidgeMargin(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -986,6 +988,7 @@ const Trestle = forwardRef((props, ref) => { className="input-origin block" value={kerabaMargin ?? 0} onChange={(value) => setKerabaMargin(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/lineTypes/Angle.jsx b/src/components/floor-plan/modal/lineTypes/Angle.jsx index 97bbe416..ad305025 100644 --- a/src/components/floor-plan/modal/lineTypes/Angle.jsx +++ b/src/components/floor-plan/modal/lineTypes/Angle.jsx @@ -6,7 +6,7 @@ import { useEffect } from 'react' export default function Angle({ props }) { const { getMessage } = useMessage() - const { angle1, setAngle1, angle1Ref, length1, setLength1, length1Ref } = props + const { angle1, setAngle1, angle1Ref, length1, setLength1, length1Ref, disableKeypad } = props return ( <> @@ -45,6 +45,7 @@ export default function Angle({ props }) { }} placeholder="45" onFocus={() => (angle1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: true, allowDecimal: true @@ -80,6 +81,7 @@ export default function Angle({ props }) { onChange={(value) => setLength1(value)} placeholder="3000" onFocus={() => (length1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/lineTypes/Diagonal.jsx b/src/components/floor-plan/modal/lineTypes/Diagonal.jsx index 7ab0e3ec..cc3b16d4 100644 --- a/src/components/floor-plan/modal/lineTypes/Diagonal.jsx +++ b/src/components/floor-plan/modal/lineTypes/Diagonal.jsx @@ -19,6 +19,7 @@ export default function Diagonal({ props }) { setArrow1, arrow2, setArrow2, + disableKeypad, } = props return ( <> @@ -50,6 +51,7 @@ export default function Diagonal({ props }) { onChange={(value) => setDiagonalLength(value)} placeholder="3000" onFocus={() => (diagonalLengthRef.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -87,6 +89,7 @@ export default function Diagonal({ props }) { onChange={(value) => setLength1(value)} placeholder="3000" onFocus={() => (length1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -160,6 +163,7 @@ export default function Diagonal({ props }) { onChange={(value) => setLength2(value)} placeholder="3000" onFocus={() => (length2Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/lineTypes/DoublePitch.jsx b/src/components/floor-plan/modal/lineTypes/DoublePitch.jsx index 4919462b..0f3ee8b1 100644 --- a/src/components/floor-plan/modal/lineTypes/DoublePitch.jsx +++ b/src/components/floor-plan/modal/lineTypes/DoublePitch.jsx @@ -24,6 +24,7 @@ export default function DoublePitch({ props }) { setArrow2, arrow1Ref, arrow2Ref, + disableKeypad, } = props const getLength2 = (angle1, angle2, length1) => { @@ -68,6 +69,7 @@ export default function DoublePitch({ props }) { onChange={(value) => setAngle1(value)} placeholder="45" onFocus={() => (angle1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true @@ -100,6 +102,7 @@ export default function DoublePitch({ props }) { onChange={(value) => setLength1(value)} placeholder="3000" onFocus={() => (length1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -180,6 +183,7 @@ export default function DoublePitch({ props }) { }} placeholder="45" onFocus={() => (angle2Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true diff --git a/src/components/floor-plan/modal/lineTypes/OuterLineWall.jsx b/src/components/floor-plan/modal/lineTypes/OuterLineWall.jsx index ffbfa9f4..09ff9644 100644 --- a/src/components/floor-plan/modal/lineTypes/OuterLineWall.jsx +++ b/src/components/floor-plan/modal/lineTypes/OuterLineWall.jsx @@ -9,7 +9,7 @@ import { useEffect, useRef } from 'react' export default function OuterLineWall({ props }) { const { getMessage } = useMessage() - const { length1, setLength1, length1Ref, arrow1, setArrow1 } = props + const { length1, setLength1, length1Ref, arrow1, setArrow1, disableKeypad } = props // 키보드 입력 처리 useEffect(() => { @@ -81,6 +81,7 @@ export default function OuterLineWall({ props }) { }} placeholder={'3000'} ref={length1Ref} + disableKeypad={disableKeypad} onFocus={() => { if (length1Ref.current && length1Ref.current.value === '0') { length1Ref.current.value = '' diff --git a/src/components/floor-plan/modal/lineTypes/RightAngle.jsx b/src/components/floor-plan/modal/lineTypes/RightAngle.jsx index a4356b4a..0849078e 100644 --- a/src/components/floor-plan/modal/lineTypes/RightAngle.jsx +++ b/src/components/floor-plan/modal/lineTypes/RightAngle.jsx @@ -4,7 +4,7 @@ import { CalculatorInput } from '@/components/common/input/CalcInput' export default function RightAngle({ props }) { const { getMessage } = useMessage() - const { length1, setLength1, length1Ref, length2, setLength2, length2Ref, arrow1, setArrow1, arrow2, setArrow2 } = props + const { length1, setLength1, length1Ref, length2, setLength2, length2Ref, arrow1, setArrow1, arrow2, setArrow2, disableKeypad } = props const handleClickArrow = (arrow) => { const arrowType = arrow === '↑' ? 'ArrowUp' : arrow === '↓' ? 'ArrowDown' : arrow === '←' ? 'ArrowLeft' : arrow === '→' ? 'ArrowRight' : '' @@ -42,6 +42,7 @@ export default function RightAngle({ props }) { ref={length1Ref} onChange={(value) => setLength1(value)} onFocus={() => (length1Ref.current.value = '')} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -125,6 +126,7 @@ export default function RightAngle({ props }) { onFocus={() => (length2Ref.current.value = '')} onChange={(value) => setLength2(value)} placeholder="3000" + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/object/ObjectSetting.jsx b/src/components/floor-plan/modal/object/ObjectSetting.jsx index 4d7c9823..41eaa833 100644 --- a/src/components/floor-plan/modal/object/ObjectSetting.jsx +++ b/src/components/floor-plan/modal/object/ObjectSetting.jsx @@ -14,6 +14,7 @@ import TriangleDormer from '@/components/floor-plan/modal/object/type/TriangleDo import PentagonDormer from '@/components/floor-plan/modal/object/type/PentagonDormer' import { usePopup } from '@/hooks/usePopup' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' +import Image from 'next/image' export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() @@ -21,6 +22,7 @@ export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { const [buttonAct, setButtonAct] = useState(1) const { swalFire } = useSwal() const [isHidden, setIsHidden] = useState(false) + const [useCalcPad, setUseCalcPad] = useState(false) const { applyOpeningAndShadow, applyDormers } = useObjectBatch({ isHidden, setIsHidden }) const { closePopup } = usePopup() @@ -112,12 +114,15 @@ export default function ObjectSetting({ id, pos = { x: 50, y: 230 } }) { ))}
- {buttonAct === 1 && } - {buttonAct === 2 && } - {buttonAct === 3 && } - {buttonAct === 4 && } + {buttonAct === 1 && } + {buttonAct === 2 && } + {buttonAct === 3 && } + {buttonAct === 4 && }
+
-
+
+ diff --git a/src/components/floor-plan/modal/object/type/OpenSpace.jsx b/src/components/floor-plan/modal/object/type/OpenSpace.jsx index dfda5148..79ee76ac 100644 --- a/src/components/floor-plan/modal/object/type/OpenSpace.jsx +++ b/src/components/floor-plan/modal/object/type/OpenSpace.jsx @@ -3,7 +3,7 @@ import { useMessage } from '@/hooks/useMessage' import { INPUT_TYPE } from '@/common/common' import { CalculatorInput } from '@/components/common/input/CalcInput' -const OpenSpace = forwardRef((props, refs) => { +const OpenSpace = forwardRef(({ disableKeypad }, refs) => { const { getMessage } = useMessage() const [selectedType, setSelectedType] = useState(INPUT_TYPE.FREE) const [width, setWidth] = useState(0) @@ -70,6 +70,7 @@ const OpenSpace = forwardRef((props, refs) => { ref={refs.widthRef} onChange={(value) => setWidth(value)} disabled={selectedType !== INPUT_TYPE.DIMENSION} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -101,6 +102,7 @@ const OpenSpace = forwardRef((props, refs) => { ref={refs.heightRef} onChange={(value) => setHeight(value)} disabled={selectedType !== INPUT_TYPE.DIMENSION} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/object/type/PentagonDormer.jsx b/src/components/floor-plan/modal/object/type/PentagonDormer.jsx index 30bb3a49..382cb249 100644 --- a/src/components/floor-plan/modal/object/type/PentagonDormer.jsx +++ b/src/components/floor-plan/modal/object/type/PentagonDormer.jsx @@ -3,7 +3,7 @@ import { useMessage } from '@/hooks/useMessage' import { forwardRef, useState } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -const PentagonDormer = forwardRef((props, refs) => { +const PentagonDormer = forwardRef(({ disableKeypad }, refs) => { const { getMessage } = useMessage() const [direction, setDirection] = useState('down') refs.directionRef.current = direction @@ -45,6 +45,7 @@ const PentagonDormer = forwardRef((props, refs) => { value={height} ref={refs.heightRef} onChange={(value) => setHeight(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -69,6 +70,7 @@ const PentagonDormer = forwardRef((props, refs) => { value={offsetDepth} ref={refs.offsetRef} onChange={(value) => setOffsetDepth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -96,6 +98,7 @@ const PentagonDormer = forwardRef((props, refs) => { value={width} ref={refs.widthRef} onChange={(value) => setWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -120,6 +123,7 @@ const PentagonDormer = forwardRef((props, refs) => { value={offsetWidth} ref={refs.offsetWidthRef} onChange={(value) => setOffsetWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -144,6 +148,7 @@ const PentagonDormer = forwardRef((props, refs) => { ref={refs.pitchRef} value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), diff --git a/src/components/floor-plan/modal/object/type/Shadow.jsx b/src/components/floor-plan/modal/object/type/Shadow.jsx index 52595fa1..034f4227 100644 --- a/src/components/floor-plan/modal/object/type/Shadow.jsx +++ b/src/components/floor-plan/modal/object/type/Shadow.jsx @@ -3,7 +3,7 @@ import { useMessage } from '@/hooks/useMessage' import { INPUT_TYPE } from '@/common/common' import { CalculatorInput } from '@/components/common/input/CalcInput' -const Shadow = forwardRef((props, refs) => { +const Shadow = forwardRef(({ disableKeypad }, refs) => { const { getMessage } = useMessage() const [selectedType, setSelectedType] = useState(INPUT_TYPE.FREE) @@ -70,6 +70,7 @@ const Shadow = forwardRef((props, refs) => { ref={refs.widthRef} onChange={(value) => setWidth(value)} disabled={selectedType !== INPUT_TYPE.DIMENSION} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -101,6 +102,7 @@ const Shadow = forwardRef((props, refs) => { ref={refs.heightRef} onChange={(value) => setHeight(value)} disabled={selectedType !== INPUT_TYPE.DIMENSION} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/object/type/TriangleDormer.jsx b/src/components/floor-plan/modal/object/type/TriangleDormer.jsx index 08e31538..bd146fe9 100644 --- a/src/components/floor-plan/modal/object/type/TriangleDormer.jsx +++ b/src/components/floor-plan/modal/object/type/TriangleDormer.jsx @@ -3,7 +3,7 @@ import { useMessage } from '@/hooks/useMessage' import { forwardRef, useState } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -const TriangleDormer = forwardRef((props, refs) => { +const TriangleDormer = forwardRef(({ disableKeypad }, refs) => { const { getMessage } = useMessage() const [direction, setDirection] = useState('down') refs.directionRef.current = direction @@ -43,6 +43,7 @@ const [pitch, setPitch] = useState(4) value={height} ref={refs.heightRef} onChange={(value) => setHeight(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -67,6 +68,7 @@ const [pitch, setPitch] = useState(4) value={offset} ref={refs.offsetRef} onChange={(value) => setOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -91,6 +93,7 @@ const [pitch, setPitch] = useState(4) ref={refs.pitchRef} value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true diff --git a/src/components/floor-plan/modal/outerlinesetting/WallLineSetting.jsx b/src/components/floor-plan/modal/outerlinesetting/WallLineSetting.jsx index 8d79f223..21ede5ec 100644 --- a/src/components/floor-plan/modal/outerlinesetting/WallLineSetting.jsx +++ b/src/components/floor-plan/modal/outerlinesetting/WallLineSetting.jsx @@ -11,6 +11,7 @@ import DoublePitch from '@/components/floor-plan/modal/lineTypes/DoublePitch' import Diagonal from '@/components/floor-plan/modal/lineTypes/Diagonal' import { usePopup } from '@/hooks/usePopup' import { useState } from 'react' +import Image from 'next/image' import { v4 as uuidv4 } from 'uuid' export default function WallLineSetting(props) { @@ -18,6 +19,7 @@ export default function WallLineSetting(props) { const { addPopup, closePopup } = usePopup() const { getMessage } = useMessage() const [propertiesId, setPropertiesId] = useState(uuidv4()) + const [useCalcPad, setUseCalcPad] = useState(false) const { length1, setLength1, @@ -46,12 +48,15 @@ export default function WallLineSetting(props) { handleFix, } = useOuterLineWall(id, propertiesId) + const disableKeypad = !useCalcPad + const outerLineProps = { length1, setLength1, length1Ref, arrow1, setArrow1, + disableKeypad, } const rightAngleProps = { @@ -65,6 +70,7 @@ export default function WallLineSetting(props) { setArrow1, arrow2, setArrow2, + disableKeypad, } const doublePitchProps = { @@ -86,6 +92,7 @@ export default function WallLineSetting(props) { setArrow2, arrow1Ref, arrow2Ref, + disableKeypad, } const angleProps = { @@ -95,6 +102,7 @@ export default function WallLineSetting(props) { length1, setLength1, length1Ref, + disableKeypad, } const diagonalLineProps = { @@ -111,6 +119,7 @@ export default function WallLineSetting(props) { setArrow1, arrow2, setArrow2, + disableKeypad, } return ( @@ -164,6 +173,9 @@ export default function WallLineSetting(props) {
{getMessage('outerLine.property.info')}
+ diff --git a/src/components/floor-plan/modal/placementShape/PlacementShapeDrawing.jsx b/src/components/floor-plan/modal/placementShape/PlacementShapeDrawing.jsx index 8010675d..95758b8c 100644 --- a/src/components/floor-plan/modal/placementShape/PlacementShapeDrawing.jsx +++ b/src/components/floor-plan/modal/placementShape/PlacementShapeDrawing.jsx @@ -9,11 +9,13 @@ import { OUTER_LINE_TYPE } from '@/store/outerLineAtom' import OuterLineWall from '@/components/floor-plan/modal/lineTypes/OuterLineWall' import { usePlacementShapeDrawing } from '@/hooks/surface/usePlacementShapeDrawing' import { usePopup } from '@/hooks/usePopup' +import Image from 'next/image' export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { closePopup } = usePopup() const [buttonAct, setButtonAct] = useState(1) + const [useCalcPad, setUseCalcPad] = useState(false) const types = [ { id: 1, name: getMessage('straight.line'), type: OUTER_LINE_TYPE.OUTER_LINE }, { id: 2, name: getMessage('right.angle'), type: OUTER_LINE_TYPE.RIGHT_ANGLE }, @@ -49,12 +51,15 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { handleFix, } = usePlacementShapeDrawing(id) + const disableKeypad = !useCalcPad + const outerLineProps = { length1, setLength1, length1Ref, arrow1, setArrow1, + disableKeypad, } const rightAngleProps = { @@ -68,6 +73,7 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const doublePitchProps = { @@ -89,6 +95,7 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow2, arrow1Ref, arrow2Ref, + disableKeypad, } const angleProps = { @@ -98,6 +105,7 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { length1, setLength1, length1Ref, + disableKeypad, } const diagonalLineProps = { @@ -114,6 +122,7 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const onClickButton = (button) => { @@ -140,6 +149,9 @@ export default function PlacementShapeDrawing({ id, pos = { x: 50, y: 230 } }) {
+ diff --git a/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx b/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx index a4e9959f..9ba4e342 100644 --- a/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx +++ b/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx @@ -1,5 +1,5 @@ import { useEffect, useRef, useState } from 'react' - +import Image from 'next/image' import { useMessage } from '@/hooks/useMessage' import { usePopup } from '@/hooks/usePopup' @@ -35,6 +35,8 @@ export const ROOF_MATERIAL_LAYOUT = { export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, planNo, openPoint }) { const [showSizeGuideModal, setShowSizeGuidModal] = useState(false) const [showMaterialGuideModal, setShowMaterialGuidModal] = useState(false) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { getMessage } = useMessage() const roofMaterials = useRecoilValue(roofMaterialsAtom) @@ -398,6 +400,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla }} readOnly={currentRoof?.widAuth === 'R'} disabled={currentRoof?.roofSizeSet === '3'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, //(index !== 0), @@ -433,6 +436,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla }} readOnly={currentRoof?.lenAuth === 'R'} disabled={currentRoof?.roofSizeSet === '3'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, //(index !== 0), @@ -490,6 +494,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla }} readOnly={currentRoof?.roofPchAuth === 'R'} disabled={currentRoof?.roofSizeSet === '3'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, //(index !== 0), @@ -588,6 +593,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla })) } }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true, @@ -603,7 +609,10 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla
-
+
+ diff --git a/src/components/floor-plan/modal/placementSurface/PlacementSurface.jsx b/src/components/floor-plan/modal/placementSurface/PlacementSurface.jsx index 4ede1367..1a7df9d8 100644 --- a/src/components/floor-plan/modal/placementSurface/PlacementSurface.jsx +++ b/src/components/floor-plan/modal/placementSurface/PlacementSurface.jsx @@ -5,7 +5,7 @@ import { CalculatorInput } from '@/components/common/input/CalcInput' const PlacementSurface = forwardRef((props, refs) => { const { getMessage } = useMessage() - const { id, lines, info, rotate, xInversion, yInversion } = props + const { id, lines, info, rotate, xInversion, yInversion, disableKeypad } = props let { length1, length2, length3, length4, length5, lengthetc, azimuth } = refs const [azimuthDirection, setAzimuthDirection] = useState(azimuth.current) @@ -114,6 +114,7 @@ const PlacementSurface = forwardRef((props, refs) => { ? length4 : length5 } + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/placementSurface/PlacementSurfaceSetting.jsx b/src/components/floor-plan/modal/placementSurface/PlacementSurfaceSetting.jsx index ae29b778..47a73ab7 100644 --- a/src/components/floor-plan/modal/placementSurface/PlacementSurfaceSetting.jsx +++ b/src/components/floor-plan/modal/placementSurface/PlacementSurfaceSetting.jsx @@ -19,6 +19,7 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } }) const canvas = useRecoilValue(canvasState) const { closePopup } = usePopup() const [isHidden, setIsHidden] = useState(false) + const [useCalcPad, setUseCalcPad] = useState(false) const { applySurfaceShape } = useSurfaceShapeBatch({ isHidden, setIsHidden }) @@ -217,6 +218,7 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } }) rotate, xInversion, yInversion, + disableKeypad: !useCalcPad, } const getInversionState = () => { @@ -291,7 +293,10 @@ export default function PlacementSurfaceSetting({ id, pos = { x: 50, y: 230 } })
-
+
+ diff --git a/src/components/floor-plan/modal/roofAllocation/ContextRoofAllocationSetting.jsx b/src/components/floor-plan/modal/roofAllocation/ContextRoofAllocationSetting.jsx index 05b2759a..5f031e13 100644 --- a/src/components/floor-plan/modal/roofAllocation/ContextRoofAllocationSetting.jsx +++ b/src/components/floor-plan/modal/roofAllocation/ContextRoofAllocationSetting.jsx @@ -1,5 +1,6 @@ import { useMessage } from '@/hooks/useMessage' import WithDraggable from '@/components/common/draggable/WithDraggable' +import Image from 'next/image' import QSelectBox from '@/components/common/select/QSelectBox' import { useRoofAllocationSetting } from '@/hooks/roofcover/useRoofAllocationSetting' import { usePopup } from '@/hooks/usePopup' @@ -38,6 +39,8 @@ export default function ContextRoofAllocationSetting(props) { handleChangePitch, } = useRoofAllocationSetting(id) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { findCommonCode } = useCommonCode() const pitchText = useRecoilValue(pitchTextSelector) const globalLocale = useRecoilValue(globalLocaleStore) @@ -223,6 +226,7 @@ export default function ContextRoofAllocationSetting(props) { onChange={(value) => { handleChangePitch(value, index) }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -238,7 +242,10 @@ export default function ContextRoofAllocationSetting(props) { })}
-
+
+ diff --git a/src/components/floor-plan/modal/roofAllocation/RoofAllocationSetting.jsx b/src/components/floor-plan/modal/roofAllocation/RoofAllocationSetting.jsx index 79b524ef..a0e8a641 100644 --- a/src/components/floor-plan/modal/roofAllocation/RoofAllocationSetting.jsx +++ b/src/components/floor-plan/modal/roofAllocation/RoofAllocationSetting.jsx @@ -1,5 +1,6 @@ import { useMessage } from '@/hooks/useMessage' import WithDraggable from '@/components/common/draggable/WithDraggable' +import Image from 'next/image' import QSelectBox from '@/components/common/select/QSelectBox' import { useRoofAllocationSetting } from '@/hooks/roofcover/useRoofAllocationSetting' import { usePopup } from '@/hooks/usePopup' @@ -37,6 +38,8 @@ export default function RoofAllocationSetting(props) { handleChangeInput, handleChangePitch, } = useRoofAllocationSetting(id) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const pitchText = useRecoilValue(pitchTextSelector) const { findCommonCode } = useCommonCode() const [raftCodes, setRaftCodes] = useState([]) @@ -224,6 +227,7 @@ export default function RoofAllocationSetting(props) { onChange={(value) => { handleChangePitch(value, index) }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -260,7 +264,10 @@ export default function RoofAllocationSetting(props) { })}
-
+
+ diff --git a/src/components/floor-plan/modal/roofShape/RoofShapeSetting.jsx b/src/components/floor-plan/modal/roofShape/RoofShapeSetting.jsx index 73ccc348..74a0d9fa 100644 --- a/src/components/floor-plan/modal/roofShape/RoofShapeSetting.jsx +++ b/src/components/floor-plan/modal/roofShape/RoofShapeSetting.jsx @@ -7,9 +7,11 @@ import Direction from '@/components/floor-plan/modal/roofShape/type/Direction' import { useRoofShapeSetting } from '@/hooks/roofcover/useRoofShapeSetting' import { useMessage } from '@/hooks/useMessage' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' export default function RoofShapeSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() + const [useCalcPad, setUseCalcPad] = useState(false) const { shapeNum, setShapeNum, @@ -44,8 +46,10 @@ export default function RoofShapeSetting({ id, pos = { x: 50, y: 230 } }) { } = useRoofShapeSetting(id) const { closePopup } = usePopup() - const ridgeProps = { pitch, setPitch, eavesOffset, setEavesOffset, pitchText } - const patternProps = { pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, pitchText } + const disableKeypad = !useCalcPad + + const ridgeProps = { pitch, setPitch, eavesOffset, setEavesOffset, pitchText, disableKeypad } + const patternProps = { pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, pitchText, disableKeypad } const sideProps = { pitch, setPitch, @@ -73,6 +77,7 @@ export default function RoofShapeSetting({ id, pos = { x: 50, y: 230 } }) { handleConfirm, handleRollBack, pitchText, + disableKeypad, } const directionProps = { @@ -85,6 +90,7 @@ export default function RoofShapeSetting({ id, pos = { x: 50, y: 230 } }) { shedWidth, setShedWidth, pitchText, + disableKeypad, } return ( @@ -108,6 +114,9 @@ export default function RoofShapeSetting({ id, pos = { x: 50, y: 230 } }) { {(shapeNum === 5 || shapeNum === 6 || shapeNum === 7 || shapeNum === 8) && }
+ diff --git a/src/components/floor-plan/modal/roofShape/type/Direction.jsx b/src/components/floor-plan/modal/roofShape/type/Direction.jsx index 7c3cf809..66069ee0 100644 --- a/src/components/floor-plan/modal/roofShape/type/Direction.jsx +++ b/src/components/floor-plan/modal/roofShape/type/Direction.jsx @@ -2,7 +2,7 @@ import { useMessage } from '@/hooks/useMessage' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, shedWidth, setShedWidth, pitchText }) { +export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, shedWidth, setShedWidth, pitchText, disableKeypad }) { const { getMessage } = useMessage() return (
@@ -24,6 +24,7 @@ export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset className="input-origin block" value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -50,6 +51,7 @@ export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset className="input-origin block" value={eavesOffset} onChange={(value) => setEavesOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -76,6 +78,7 @@ export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset className="input-origin block" value={gableOffset} onChange={(value) => setGableOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -102,6 +105,7 @@ export default function Direction({ pitch, setPitch, eavesOffset, setEavesOffset className="input-origin block" value={shedWidth} onChange={(value) => setShedWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/Pattern.jsx b/src/components/floor-plan/modal/roofShape/type/Pattern.jsx index 46631b5c..138fe67b 100644 --- a/src/components/floor-plan/modal/roofShape/type/Pattern.jsx +++ b/src/components/floor-plan/modal/roofShape/type/Pattern.jsx @@ -4,7 +4,7 @@ import { CalculatorInput } from '@/components/common/input/CalcInput' export default function Pattern(props) { const { getMessage } = useMessage() - const { pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, pitchText } = props + const { pitch, setPitch, eavesOffset, setEavesOffset, gableOffset, setGableOffset, pitchText, disableKeypad } = props return (
@@ -21,6 +21,7 @@ export default function Pattern(props) { className="input-origin block" value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -43,6 +44,7 @@ export default function Pattern(props) { className="input-origin block" value={eavesOffset} onChange={(value) => setEavesOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -65,6 +67,7 @@ export default function Pattern(props) { className="input-origin block" value={gableOffset} onChange={(value) => setGableOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/Ridge.jsx b/src/components/floor-plan/modal/roofShape/type/Ridge.jsx index 03f22936..84b723bf 100644 --- a/src/components/floor-plan/modal/roofShape/type/Ridge.jsx +++ b/src/components/floor-plan/modal/roofShape/type/Ridge.jsx @@ -5,7 +5,7 @@ import { CalculatorInput } from '@/components/common/input/CalcInput' export default function Ridge(props) { const { getMessage } = useMessage() - const { pitch, setPitch, eavesOffset, setEavesOffset, pitchText } = props + const { pitch, setPitch, eavesOffset, setEavesOffset, pitchText, disableKeypad } = props return (
@@ -23,6 +23,7 @@ export default function Ridge(props) { className="input-origin block" value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -45,6 +46,7 @@ export default function Ridge(props) { className="input-origin block" value={eavesOffset} onChange={(value) => setEavesOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/Side.jsx b/src/components/floor-plan/modal/roofShape/type/Side.jsx index 26a4957f..13ffd072 100644 --- a/src/components/floor-plan/modal/roofShape/type/Side.jsx +++ b/src/components/floor-plan/modal/roofShape/type/Side.jsx @@ -35,14 +35,15 @@ export default function Side(props) { pitchText, shedPitch, setShedPitch, + disableKeypad, } = props - const eavesProps = { pitch, setPitch, eavesOffset, setEavesOffset, pitchText } - const gableProps = { gableOffset, setGableOffset } - const wallProps = { sleeveOffset, setSleeveOffset, hasSleeve, setHasSleeve } - const hipAndGableProps = { pitch, setPitch, eavesOffset, setEavesOffset, hipAndGableWidth, setHipAndGableWidth, pitchText } - const jerkinheadProps = { gableOffset, setGableOffset, jerkinHeadWidth, setJerkinHeadWidth, jerkinHeadPitch, setJerkinHeadPitch, pitchText } - const shedProps = { shedWidth, setShedWidth, shedPitch, setShedPitch, pitchText } + const eavesProps = { pitch, setPitch, eavesOffset, setEavesOffset, pitchText, disableKeypad } + const gableProps = { gableOffset, setGableOffset, disableKeypad } + const wallProps = { sleeveOffset, setSleeveOffset, hasSleeve, setHasSleeve, disableKeypad } + const hipAndGableProps = { pitch, setPitch, eavesOffset, setEavesOffset, hipAndGableWidth, setHipAndGableWidth, pitchText, disableKeypad } + const jerkinheadProps = { gableOffset, setGableOffset, jerkinHeadWidth, setJerkinHeadWidth, jerkinHeadPitch, setJerkinHeadPitch, pitchText, disableKeypad } + const shedProps = { shedWidth, setShedWidth, shedPitch, setShedPitch, pitchText, disableKeypad } const { getMessage } = useMessage() diff --git a/src/components/floor-plan/modal/roofShape/type/option/Eaves.jsx b/src/components/floor-plan/modal/roofShape/type/option/Eaves.jsx index 9477adae..b644d8f3 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/Eaves.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/Eaves.jsx @@ -2,7 +2,7 @@ import { useMessage } from '@/hooks/useMessage' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Eaves({ pitch, setPitch, eavesOffset, setEavesOffset, pitchText }) { +export default function Eaves({ pitch, setPitch, eavesOffset, setEavesOffset, pitchText, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -20,6 +20,7 @@ export default function Eaves({ pitch, setPitch, eavesOffset, setEavesOffset, pi className="input-origin block" value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -43,6 +44,7 @@ export default function Eaves({ pitch, setPitch, eavesOffset, setEavesOffset, pi className="input-origin block" value={eavesOffset} onChange={(value) => setEavesOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/option/Gable.jsx b/src/components/floor-plan/modal/roofShape/type/option/Gable.jsx index 1b6c1c7f..92ff261a 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/Gable.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/Gable.jsx @@ -3,7 +3,7 @@ import { useEffect } from 'react' import { normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Gable({ gableOffset, setGableOffset }) { +export default function Gable({ gableOffset, setGableOffset, disableKeypad }) { const { getMessage } = useMessage() return ( @@ -20,6 +20,7 @@ export default function Gable({ gableOffset, setGableOffset }) { className="input-origin block" value={gableOffset} onChange={(value) => setGableOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/option/HipAndGable.jsx b/src/components/floor-plan/modal/roofShape/type/option/HipAndGable.jsx index cb38560f..2e41f22d 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/HipAndGable.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/HipAndGable.jsx @@ -2,7 +2,7 @@ import { useMessage } from '@/hooks/useMessage' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function HipAndGable({ pitch, setPitch, eavesOffset, setEavesOffset, hipAndGableWidth, setHipAndGableWidth, pitchText }) { +export default function HipAndGable({ pitch, setPitch, eavesOffset, setEavesOffset, hipAndGableWidth, setHipAndGableWidth, pitchText, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -20,6 +20,7 @@ export default function HipAndGable({ pitch, setPitch, eavesOffset, setEavesOffs className="input-origin block" value={pitch} onChange={(value) => setPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -42,6 +43,7 @@ export default function HipAndGable({ pitch, setPitch, eavesOffset, setEavesOffs className="input-origin block" value={eavesOffset} onChange={(value) => setEavesOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -69,6 +71,7 @@ export default function HipAndGable({ pitch, setPitch, eavesOffset, setEavesOffs className="input-origin block" value={hipAndGableWidth} onChange={(value) => setHipAndGableWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/option/Jerkinhead.jsx b/src/components/floor-plan/modal/roofShape/type/option/Jerkinhead.jsx index ed4c11f1..9ad53fdf 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/Jerkinhead.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/Jerkinhead.jsx @@ -10,6 +10,7 @@ export default function Jerkinhead({ jerkinHeadPitch, setJerkinHeadPitch, pitchText, + disableKeypad, }) { const { getMessage } = useMessage() return ( @@ -28,6 +29,7 @@ export default function Jerkinhead({ className="input-origin block" value={gableOffset} onChange={(value) => setGableOffset(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -51,6 +53,7 @@ export default function Jerkinhead({ className="input-origin block" value={jerkinHeadWidth} onChange={(value) => setJerkinHeadWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -77,6 +80,7 @@ export default function Jerkinhead({ className="input-origin block" value={jerkinHeadPitch} onChange={(value) => setJerkinHeadPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/option/Shed.jsx b/src/components/floor-plan/modal/roofShape/type/option/Shed.jsx index 6fe1d32f..edccb02f 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/Shed.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/Shed.jsx @@ -2,7 +2,7 @@ import { useMessage } from '@/hooks/useMessage' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Shed({ shedWidth, setShedWidth, shedPitch, setShedPitch, pitchText }) { +export default function Shed({ shedWidth, setShedWidth, shedPitch, setShedPitch, pitchText, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -18,6 +18,7 @@ export default function Shed({ shedWidth, setShedWidth, shedPitch, setShedPitch, className="input-origin block" value={shedPitch} onChange={(value) => setShedPitch(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -38,6 +39,7 @@ export default function Shed({ shedWidth, setShedWidth, shedPitch, setShedPitch, className="input-origin block" value={shedWidth} onChange={(value) => setShedWidth(value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/roofShape/type/option/Wall.jsx b/src/components/floor-plan/modal/roofShape/type/option/Wall.jsx index bee6e9bb..cf93d4ba 100644 --- a/src/components/floor-plan/modal/roofShape/type/option/Wall.jsx +++ b/src/components/floor-plan/modal/roofShape/type/option/Wall.jsx @@ -3,7 +3,7 @@ import { useMessage } from '@/hooks/useMessage' import { normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Wall({ sleeveOffset, setSleeveOffset, hasSleeve, setHasSleeve }) { +export default function Wall({ sleeveOffset, setSleeveOffset, hasSleeve, setHasSleeve, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -43,6 +43,7 @@ export default function Wall({ sleeveOffset, setSleeveOffset, hasSleeve, setHasS value={sleeveOffset} onChange={(value) => setSleeveOffset(value)} readOnly={hasSleeve === '0'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 97ba9dd3..a3a0a607 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -24,8 +24,11 @@ import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import { useSwal } from '@/hooks/useSwal' import { sanitizeIntegerInputEvent } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' +import Image from 'next/image' export default function StuffDetail() { + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState) const { swalFire } = useSwal() const { setIsGlobalLoading } = useContext(QcastContext) @@ -1761,6 +1764,9 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} +
@@ -2161,6 +2167,7 @@ export default function StuffDetail() { className="input-light" value={form.watch('verticalSnowCover') || ''} onChange={(value) => form.setValue('verticalSnowCover', value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, @@ -2233,6 +2240,7 @@ export default function StuffDetail() { className="input-light" value={form.watch('installHeight') || ''} onChange={(value) => form.setValue('installHeight', value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, @@ -2286,6 +2294,9 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} +
@@ -2310,12 +2321,16 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} + +
) : ( @@ -2337,6 +2352,9 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} +
)} @@ -2757,6 +2775,7 @@ export default function StuffDetail() { className="input-light" value={form.watch('verticalSnowCover') || ''} onChange={(value) => form.setValue('verticalSnowCover', value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, @@ -2833,6 +2852,7 @@ export default function StuffDetail() { className="input-light" value={form.watch('installHeight') || ''} onChange={(value) => form.setValue('installHeight', value)} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false, @@ -2917,12 +2937,16 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} + +
) : ( @@ -2944,6 +2968,9 @@ export default function StuffDetail() { > {getMessage('stuff.detail.btn.moveList')} +
)}