11import React , { Component , useEffect , useState } from 'react' ;
2- import { withSnackbar , WithSnackbarProps } from 'notistack' ;
2+ import { WithSnackbarProps } from 'notistack' ;
33import { RouteComponentProps } from 'react-router-dom'
44
55import { ENDPOINT_ROOT } from '../api' ;
66import { restController , RestControllerProps , RestFormLoader , SectionContent , } from '../components' ;
7- import { Box , Button , makeStyles , Table , TableBody , TableCell , TableHead , TableRow , Typography , WithStyles } from '@material-ui/core' ;
8- import DeleteIcon from '@material-ui/icons/Delete' ;
7+ import { Box , Button , makeStyles , Typography , WithStyles } from '@material-ui/core' ;
98import TimelineIcon from '@material-ui/icons/TimelineOutlined' ;
109import GetApp from '@material-ui/icons/GetApp' ;
11- import IconButton from '@material-ui/core/IconButton' ;
1210import 'react-day-picker/style.css' ;
1311import { DataFile , FilesState } from './types' ;
1412import { LineChart , Line , CartesianGrid , XAxis , YAxis , ResponsiveContainer , Brush , Tooltip } from 'recharts'
15- import { DateRange , DayPicker , SelectRangeEventHandler , DateAfter , DateBefore , DateBeforeAfter } from 'react-day-picker' ;
13+ import { DateRange , DayPicker , SelectRangeEventHandler , DateAfter , DateBefore } from 'react-day-picker' ;
1614import { format } from 'date-fns' ;
17- import { MenuAppBar } from '../components' ;
18- import { merge , toInteger } from 'lodash' ;
19- import { render } from 'react-dom' ;
15+ import { toInteger } from 'lodash' ;
2016export const FILES_ENDPOINT = ENDPOINT_ROOT + "files" ;
2117
2218const useStyles = makeStyles ( ( theme ) => ( {
@@ -124,7 +120,7 @@ function Calendar(props: ICalendarProps) {
124120 responses . forEach ( response => {
125121 p1 . push ( response . arrayBuffer ( ) . then ( buffer => {
126122 console . log ( "extractdp" , response , response . url . split ( '/' ) [ - 1 ] )
127- ldatapoints = ldatapoints . concat ( extractDP ( buffer , indexes , Number ( response . url . split ( '/' ) . pop ( ) ) ) ) ;
123+ ldatapoints = ldatapoints . concat ( extractDP ( buffer , indexes , Number ( response . url . split ( '/' ) . pop ( ) ) , range ) ) ;
128124 console . log ( "file processed." )
129125 } ) ) ;
130126 } ) ;
@@ -232,7 +228,9 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
232228 render ( ) {
233229 if ( this . props . graphData && this . props . graphIndex ) {
234230 return (
231+
235232 this . props . graphIndex . map ( ( keyindex , index ) => (
233+ this . props . sensorInfos . get ( keyindex . name ) ?. index ?
236234 < SectionContent title = { keyindex . name } titleGutter key = { index } >
237235 < ResponsiveContainer width = "95%" height = { 400 } >
238236 < LineChart height = { 300 } data = { this . props . graphData } syncId = "datalab" >
@@ -244,7 +242,7 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
244242 < YAxis />
245243 < Tooltip labelFormatter = { this . RenderTick } />
246244 < CartesianGrid stroke = "#eee" strokeDasharray = "5 5" />
247- < Line type = "linear" connectNulls = { true } dataKey = { keyindex . name } stroke = { this . colors [ index ] } />
245+ < Line type = "linear" connectNulls = { true } dataKey = { keyindex . name } />
248246 { /* <Line type="monotone" dataKey="pv" stroke="#82ca9d" /> */ }
249247 </ LineChart >
250248 </ ResponsiveContainer >
@@ -261,6 +259,7 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
261259 Download all graph data
262260</ Button >
263261 </ SectionContent >
262+ : ""
264263 ) )
265264 )
266265 }
@@ -310,12 +309,14 @@ function getMergedDP(datapoints: DataPoint[], maxValPerSensor=0):[any[] , Map<st
310309 return [ merged , sampling ] ;
311310}
312311
313- function extractDP ( buffer : ArrayBuffer , indexes : IIndex [ ] , tsstart :number ) : DataPoint [ ] {
312+ function extractDP ( buffer : ArrayBuffer , indexes : IIndex [ ] , tsstart :number , range : DateRange ) : DataPoint [ ] {
314313 var ret : DataPoint [ ] = [ ] ;
315314 var i = 0 ;
316315 for ( let offset = 0 ; offset * 7 < buffer . byteLength ; offset ++ ) {
317316 i ++
318- ret . push ( ReadDataPoint ( buffer . slice ( 7 * offset , 7 * offset + 7 ) , indexes , tsstart ) ) ;
317+ var point = ReadDataPoint ( buffer . slice ( 7 * offset , 7 * offset + 7 ) , indexes , tsstart ) ;
318+ if ( point . ts ! * 1000 > + range . from && point . ts ! * 1000 < + range . to ! )
319+ ret . push ( point ) ;
319320 }
320321 return ret ;
321322}
0 commit comments