|
|
|
@ -11,27 +11,37 @@ const DronToast = () => {
|
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
|
|
|
|
|
const { controlGpList } = useSelector(state => state.controlGpState); |
|
|
|
|
const [toastId, setToastId] = useState();
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (controlGpList) { |
|
|
|
|
controlGpList.forEach(gps => { |
|
|
|
|
if (gps.controlWarnCd && gps.controlWarnNotyCd) {
|
|
|
|
|
toast.info(
|
|
|
|
|
toastRender( |
|
|
|
|
`${gps.objectId} 비정상 상황 알림`, |
|
|
|
|
'경로 상에 비행 구역을 이탈했습니다.' |
|
|
|
|
), |
|
|
|
|
{ |
|
|
|
|
autoClose: 3000,
|
|
|
|
|
hideProgressBar: true, |
|
|
|
|
position: toast.POSITION.BOTTOM_RIGHT, |
|
|
|
|
onClick: props => {
|
|
|
|
|
handleNotiClick(gps.controlId, gps.objectId); |
|
|
|
|
if (!toastId) { |
|
|
|
|
controlGpList.forEach(gps => { |
|
|
|
|
// console.log("===================================")
|
|
|
|
|
// console.log("Warn ==> ", gps.controlWarnCd);
|
|
|
|
|
// console.log("Noti ==> ", gps.controlWarnNotyCd);
|
|
|
|
|
if (gps.controlWarnCd && gps.controlWarnNotyCd) {
|
|
|
|
|
|
|
|
|
|
const id = toast.info( |
|
|
|
|
toastRender( |
|
|
|
|
`${gps.objectId} 비정상 상황 알림`, |
|
|
|
|
`경로 상에 비행 구역을 이탈했습니다.` |
|
|
|
|
), |
|
|
|
|
{ |
|
|
|
|
autoClose: false,
|
|
|
|
|
hideProgressBar: true, |
|
|
|
|
position: toast.POSITION.BOTTOM_RIGHT, |
|
|
|
|
onClick: props => {
|
|
|
|
|
setToastId(null); |
|
|
|
|
handleNotiClick(gps.controlId, gps.objectId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
setToastId(id);
|
|
|
|
|
}
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, [controlGpList]); |
|
|
|
|
|
|
|
|
|