|
|
@ -1,5 +1,5 @@ |
|
|
|
import moment from 'moment'; |
|
|
|
import moment from 'moment'; |
|
|
|
import { useEffect, useState } from 'react'; |
|
|
|
import { useEffect, useState, useCallback, useRef } from 'react'; |
|
|
|
import { useDispatch, useSelector } from 'react-redux'; |
|
|
|
import { useDispatch, useSelector } from 'react-redux'; |
|
|
|
import { AnalysisSimulationDetail } from '../../../components/analysis/simulation/AnalysisSimulationDetail'; |
|
|
|
import { AnalysisSimulationDetail } from '../../../components/analysis/simulation/AnalysisSimulationDetail'; |
|
|
|
import { AnalysisSimulationMenu } from '../../../components/analysis/simulation/AnalysisSimulationMenu'; |
|
|
|
import { AnalysisSimulationMenu } from '../../../components/analysis/simulation/AnalysisSimulationMenu'; |
|
|
@ -14,7 +14,7 @@ import * as Action from '../../../modules/account/login/actions/authAction'; |
|
|
|
let playCount = 0; |
|
|
|
let playCount = 0; |
|
|
|
|
|
|
|
|
|
|
|
export const AnalysisSimulationContainer = props => { |
|
|
|
export const AnalysisSimulationContainer = props => { |
|
|
|
const { list, count, detail, searchParams, log, stcsList, stcsCount } = |
|
|
|
const { list, count, detail, searchParams, log, stcsList, stcsCount, page } = |
|
|
|
useSelector(state => state.analysisSimulatorState); |
|
|
|
useSelector(state => state.analysisSimulatorState); |
|
|
|
|
|
|
|
|
|
|
|
const [oepnReportList, setOpenReportList] = useState(false); |
|
|
|
const [oepnReportList, setOpenReportList] = useState(false); |
|
|
@ -37,6 +37,9 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
|
|
|
|
|
|
|
|
const [searchText, setSearchText] = useState(''); |
|
|
|
const [searchText, setSearchText] = useState(''); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const [bottom, setBottom] = useState(null); |
|
|
|
|
|
|
|
const bottomObserver = useRef(null); |
|
|
|
|
|
|
|
|
|
|
|
const [sliderVal, setSliderVal] = useState({ |
|
|
|
const [sliderVal, setSliderVal] = useState({ |
|
|
|
maxVal: 0, |
|
|
|
maxVal: 0, |
|
|
|
minVal: 0 |
|
|
|
minVal: 0 |
|
|
@ -50,27 +53,6 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
search1: '' |
|
|
|
search1: '' |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 스크롤 이벤트 핸들러
|
|
|
|
|
|
|
|
const handleScroll = () => { |
|
|
|
|
|
|
|
const scrollHeight = document.documentElement.scrollHeight; |
|
|
|
|
|
|
|
const scrollTop = document.documentElement.scrollTop; |
|
|
|
|
|
|
|
const clientHeight = document.documentElement.clientHeight; |
|
|
|
|
|
|
|
console.log('@@'); |
|
|
|
|
|
|
|
// if (scrollTop + clientHeight >= scrollHeight && fetching === false) {
|
|
|
|
|
|
|
|
// // 페이지 끝에 도달하면 추가 데이터를 받아온다
|
|
|
|
|
|
|
|
// console.log('@@');
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
|
|
|
// scroll event listener 등록
|
|
|
|
|
|
|
|
window.addEventListener('scroll', handleScroll); |
|
|
|
|
|
|
|
return () => { |
|
|
|
|
|
|
|
// scroll event listener 해제
|
|
|
|
|
|
|
|
window.removeEventListener('scroll', handleScroll); |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
}, []); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 시뮬레이션 타이머
|
|
|
|
// 시뮬레이션 타이머
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
if (isPlay) { |
|
|
|
if (isPlay) { |
|
|
@ -145,7 +127,7 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
}, [log]); |
|
|
|
}, [log]); |
|
|
|
|
|
|
|
|
|
|
|
const handlerSearch = search1 => { |
|
|
|
const handlerSearch = search1 => { |
|
|
|
setSearchText(search1); |
|
|
|
setParams({ ...params, search1 }); |
|
|
|
|
|
|
|
|
|
|
|
dispatch( |
|
|
|
dispatch( |
|
|
|
Actions.list.request({ searchParams: { ...params, search1 }, page: 1 }) |
|
|
|
Actions.list.request({ searchParams: { ...params, search1 }, page: 1 }) |
|
|
@ -193,6 +175,17 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
setOpenDetail(false); |
|
|
|
setOpenDetail(false); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handlerPageList = () => { |
|
|
|
|
|
|
|
// console.log(params);
|
|
|
|
|
|
|
|
// dispatch(Actions.list.request({ searchParams, page }));
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handlerOpenReportList = useCallback( |
|
|
|
|
|
|
|
val => { |
|
|
|
|
|
|
|
setOpenReportList(val); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
[oepnReportList] |
|
|
|
|
|
|
|
); |
|
|
|
return ( |
|
|
|
return ( |
|
|
|
// <CustomMainLayout title={titleName}>
|
|
|
|
// <CustomMainLayout title={titleName}>
|
|
|
|
<div className='pal-container'> |
|
|
|
<div className='pal-container'> |
|
|
@ -201,7 +194,7 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<AnalysisSimulationMenu |
|
|
|
<AnalysisSimulationMenu |
|
|
|
setOpenReportList={setOpenReportList} |
|
|
|
setOpenReportList={handlerOpenReportList} |
|
|
|
handlerLogout={handlerLogout} |
|
|
|
handlerLogout={handlerLogout} |
|
|
|
/> |
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
@ -211,14 +204,15 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
params={params} |
|
|
|
params={params} |
|
|
|
handlerInput={handlerInput} |
|
|
|
handlerInput={handlerInput} |
|
|
|
handlerSearch={handlerSearch} |
|
|
|
handlerSearch={handlerSearch} |
|
|
|
setOpenReportList={setOpenReportList} |
|
|
|
handlerOpenReportList={handlerOpenReportList} |
|
|
|
/> |
|
|
|
/> |
|
|
|
<AnalysimuationInfo |
|
|
|
<AnalysimuationInfo |
|
|
|
data={list} |
|
|
|
data={list} |
|
|
|
count={count} |
|
|
|
count={count} |
|
|
|
handlerDetail={handlerDetail} |
|
|
|
handlerDetail={handlerDetail} |
|
|
|
searchText={searchText} |
|
|
|
handlerPageList={handlerPageList} |
|
|
|
/> |
|
|
|
/> |
|
|
|
|
|
|
|
<div ref={setBottom} /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
) : ( |
|
|
|
) : ( |
|
|
|
<div /> |
|
|
|
<div /> |
|
|
@ -238,7 +232,7 @@ export const AnalysisSimulationContainer = props => { |
|
|
|
timeCd={timeCd} |
|
|
|
timeCd={timeCd} |
|
|
|
setSliderCount={setSliderCount} |
|
|
|
setSliderCount={setSliderCount} |
|
|
|
handlerDetailClose={handlerDetailClose} |
|
|
|
handlerDetailClose={handlerDetailClose} |
|
|
|
setOpenReportList={setOpenReportList} |
|
|
|
setOpenReportList={handlerOpenReportList} |
|
|
|
/> |
|
|
|
/> |
|
|
|
<NMapPolyline |
|
|
|
<NMapPolyline |
|
|
|
data={log} |
|
|
|
data={log} |
|
|
|