|
|
|
@ -32,7 +32,7 @@ export default function StatisticsSearch({
|
|
|
|
|
chartInit(); |
|
|
|
|
}, [searchData]); |
|
|
|
|
|
|
|
|
|
const convertToSeconds = timeArr => { |
|
|
|
|
const parseTimeToSeconds = timeArr => { |
|
|
|
|
return timeArr.map(time => { |
|
|
|
|
const [hours, minutes, seconds] = String(time).split(':').map(Number); |
|
|
|
|
return hours * 3600 + minutes * 60 + seconds; |
|
|
|
@ -40,35 +40,34 @@ export default function StatisticsSearch({
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const chartInit = () => { |
|
|
|
|
const { topData, graphData } = searchData; |
|
|
|
|
|
|
|
|
|
const filteredData = data => |
|
|
|
|
data.filter(i => i && !['nodata', 'NoData'].includes(i)); |
|
|
|
|
|
|
|
|
|
if (searchType.category === 'TIME') { |
|
|
|
|
// ['00:00:00', '12:34:56'] -> [0,45296] 초 단위로 변경
|
|
|
|
|
const timeGraph = searchData.graphData.map(i => i.value).filter(i => i); |
|
|
|
|
const timeTop = searchData.topData.map(i => i.value).filter(i => i); |
|
|
|
|
const timeGraph = filteredData(graphData.map(i => i.value)); |
|
|
|
|
const timeTop = filteredData(topData.map(i => i.value)); |
|
|
|
|
|
|
|
|
|
const totalValue = convertToSeconds(timeGraph); |
|
|
|
|
const topValue = convertToSeconds(timeTop); |
|
|
|
|
const totalValue = parseTimeToSeconds(timeGraph); |
|
|
|
|
const topValue = parseTimeToSeconds(timeTop); |
|
|
|
|
|
|
|
|
|
setTotal(totalValue); |
|
|
|
|
setTop(topValue); |
|
|
|
|
} else if (searchType.category === 'DISTANCE') { |
|
|
|
|
// [0.0, 0.1] -> [0, 0]
|
|
|
|
|
const distanceTotal = searchData.graphData |
|
|
|
|
.map(i => i.value) |
|
|
|
|
.filter(i => i); |
|
|
|
|
const distanceTop = searchData.topData.map(i => i.value).filter(i => i); |
|
|
|
|
// [0.1234, 0.5678] -> [0.1, 0.5]
|
|
|
|
|
const distanceTotal = filteredData(graphData.map(i => i.value)); |
|
|
|
|
const distanceTop = filteredData(topData.map(i => i.value)); |
|
|
|
|
|
|
|
|
|
const totalValue = distanceTotal.map(distance => { |
|
|
|
|
return distance.toFixed(1); |
|
|
|
|
}); |
|
|
|
|
const topValue = distanceTop.map(distance => { |
|
|
|
|
return distance.toFixed(1); |
|
|
|
|
}); |
|
|
|
|
const totalValue = distanceTotal.map(i => i.toFixed(1)); |
|
|
|
|
const topValue = distanceTop.map(i => i.toFixed(1)); |
|
|
|
|
|
|
|
|
|
setTotal(totalValue); |
|
|
|
|
setTop(topValue); |
|
|
|
|
} else { |
|
|
|
|
setTotal(searchData.graphData.map(i => i.value)); |
|
|
|
|
setTop(searchData.topData.map(i => i.value)); |
|
|
|
|
setTotal(filteredData(graphData.map(i => i.value))); |
|
|
|
|
setTop(filteredData(topData.map(i => i.value))); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|