[1237] 모듈/가대 목록 - timeout 연장

This commit is contained in:
ysCha 2025-09-24 13:03:18 +09:00
parent eeab13b9cd
commit 0efc90f135

View File

@ -18,6 +18,11 @@ const Trestle = forwardRef((props, ref) => {
const currentAngleType = useRecoilValue(currentAngleTypeSelector)
const pitchText = useRecoilValue(pitchTextSelector)
const [selectedRoof, setSelectedRoof] = useState(null)
const [isAutoSelecting, setIsAutoSelecting] = useState(false) //
const [autoSelectTimeout, setAutoSelectTimeout] = useState(null) //
const autoSelectTimeoutRef = useRef(null)
// ()
const AUTO_SELECT_TIMEOUT = 700 // API
const {
trestleState,
trestleDetail,
@ -63,7 +68,7 @@ const Trestle = forwardRef((props, ref) => {
useEffect(() => {
if (roofs && !selectedRoof) {
if (roofs && roofs.length > 0 && !selectedRoof) {
console.log("roofs:::::", roofs.length)
setLengthBase(roofs[0].length);
setSelectedRoof(roofs[0])
@ -71,12 +76,12 @@ const Trestle = forwardRef((props, ref) => {
if (selectedRoof && selectedRoof.lenAuth === "C") {
onChangeLength(selectedRoof.length);
}
if (selectedRoof && ["C", "R"].includes(selectedRoof.raftAuth)) {
if (selectedRoof && ["C", "R"].includes(selectedRoof.raftAuth) && roofs && roofs.length > 0) {
onChangeRaftBase(roofs[0]);
}
//
restoreModuleInstArea()
}, [roofs])
}, [roofs, selectedRoof]) // selectedRoof
useEffect(() => {
if (flag && moduleSelectionData) {
@ -161,7 +166,7 @@ const Trestle = forwardRef((props, ref) => {
useEffect(() => {
if (constructionList.length > 0) {
const existingConstruction = constructionList.find((construction) => construction.constTp === trestleState?.construction?.constTp)
const existingConstruction = constructionList.find((construction) => construction.constTp === trestleState.constTp)
if (existingConstruction) {
setSelectedConstruction(existingConstruction)
} else if (autoSelectStep === 'construction') {
@ -252,7 +257,7 @@ const Trestle = forwardRef((props, ref) => {
// () -
setTimeout(() => {
setAutoSelectStep('trestle')
}, 500) // API
}, AUTO_SELECT_TIMEOUT) // API
}
const onChangeHajebichi = (e) => {
@ -282,7 +287,7 @@ const Trestle = forwardRef((props, ref) => {
// () -
setTimeout(() => {
setAutoSelectStep('trestle')
}, 500)
}, AUTO_SELECT_TIMEOUT)
}
const onChangeTrestleMaker = (e) => {
@ -305,7 +310,7 @@ const Trestle = forwardRef((props, ref) => {
// API ()
setTimeout(() => {
setAutoSelectStep('constMthd')
}, 300)
}, AUTO_SELECT_TIMEOUT)
}
const onChangeConstMthd = (e) => {
@ -325,10 +330,21 @@ const Trestle = forwardRef((props, ref) => {
},
})
//
if (autoSelectTimeoutRef.current) {
clearTimeout(autoSelectTimeoutRef.current)
}
//
setIsAutoSelecting(true)
// API ()
setTimeout(() => {
const timeoutId = setTimeout(() => {
setAutoSelectStep('roofBase')
}, 300)
setIsAutoSelecting(false)
}, AUTO_SELECT_TIMEOUT)
autoSelectTimeoutRef.current = timeoutId
}
const onChangeRoofBase = (e) => {
@ -356,7 +372,7 @@ const Trestle = forwardRef((props, ref) => {
// API (construction)
setTimeout(() => {
setAutoSelectStep('construction')
}, 300)
}, AUTO_SELECT_TIMEOUT)
}
const handleConstruction = (index) => {
@ -451,7 +467,7 @@ const Trestle = forwardRef((props, ref) => {
...selectedRoofBase,
},
construction: {
...constructionList.find((data) => data.constTp === trestleState.constTp),
...constructionList.find((data) => newAddedRoofs[index].construction.constTp === data.constTp),
cvrYn,
snowGdPossYn,
cvrChecked,