Дополненительные данные в точках вынесены в проп

This commit is contained in:
goodmice 2021-11-15 11:42:09 +05:00
parent 0a27ccdfef
commit 5ce80f0446
2 changed files with 8 additions and 6 deletions

View File

@ -45,7 +45,7 @@ export const GetOrCreateDatasetByLineConfig = (data, lineConfig) => {
return dataset return dataset
} }
export const Column = React.memo(({ lineGroup, data, postParsing, interval, yDisplay, yStart, pointCount, savePreviousData }) => { export const Column = ({ lineGroup, data, postParsing, additionalPointData, interval, yDisplay, yStart, savePreviousData }) => {
const [dataParams, setDataParams] = useState({data: {datasets:[]}, yStart, }) const [dataParams, setDataParams] = useState({data: {datasets:[]}, yStart, })
useEffect(()=>{ useEffect(()=>{
@ -58,7 +58,8 @@ export const Column = React.memo(({ lineGroup, data, postParsing, interval, yDis
x: lineCfg.xConstValue ?? dataItem[lineCfg.xAccessorName], x: lineCfg.xConstValue ?? dataItem[lineCfg.xAccessorName],
label: dataItem[lineCfg.xAccessorName], label: dataItem[lineCfg.xAccessorName],
y: new Date(dataItem[lineCfg.yAccessorName]), y: new Date(dataItem[lineCfg.yAccessorName]),
depth: dataItem.wellDepth depth: dataItem.wellDepth,
...additionalPointData?.(dataItem, lineCfg)
})).filter(point => (point.x ?? null) !== null && (point.y ?? null) !== null) })).filter(point => (point.x ?? null) !== null && (point.y ?? null) !== null)
if (savePreviousData) if (savePreviousData)
@ -66,8 +67,6 @@ export const Column = React.memo(({ lineGroup, data, postParsing, interval, yDis
if(points?.length > 2) if(points?.length > 2)
points.sort((a,b) => a.y > b.y ? 1 : -1) points.sort((a,b) => a.y > b.y ? 1 : -1)
if(points.length > pointCount)
points.splice(0, points.length - pointCount)
dataset.data = points dataset.data = points
}) })
@ -80,7 +79,7 @@ export const Column = React.memo(({ lineGroup, data, postParsing, interval, yDis
return {...preDataParams} return {...preDataParams}
}) })
}, [data, lineGroup, interval, yDisplay, yStart, postParsing, pointCount, savePreviousData]) }, [data, lineGroup, interval, yDisplay, yStart, postParsing, savePreviousData, additionalPointData])
return <ChartTimeBase dataParams = { dataParams } options = { chartPluginsOptions } /> return <ChartTimeBase dataParams = { dataParams } options = { chartPluginsOptions } />
}) }

View File

@ -38,6 +38,8 @@ export const MonitoringColumn = ({ lineGroup, data, flowChartData, interval, sho
value: dataLast?.[line.xAccessorName] value: dataLast?.[line.xAccessorName]
})) }))
const addPointData = (point) => ({ depth: point.wellDepth })
const postParsing = (data) => { const postParsing = (data) => {
lineGroupWithoutShapes.forEach(lineCfg => { lineGroupWithoutShapes.forEach(lineCfg => {
const lineDataSet = GetOrCreateDatasetByLineConfig(data.data, lineCfg) const lineDataSet = GetOrCreateDatasetByLineConfig(data.data, lineCfg)
@ -76,6 +78,7 @@ export const MonitoringColumn = ({ lineGroup, data, flowChartData, interval, sho
data={data} data={data}
lineGroup={lineGroupWithoutShapes} lineGroup={lineGroupWithoutShapes}
postParsing={postParsing} postParsing={postParsing}
additionalPointData={addPointData}
interval={interval} interval={interval}
yDisplay={false} yDisplay={false}
yStart={yStart} yStart={yStart}