1
1
import React , { Component , useEffect , useState } from 'react' ;
2
- import { withSnackbar , WithSnackbarProps } from 'notistack' ;
2
+ import { WithSnackbarProps } from 'notistack' ;
3
3
import { RouteComponentProps } from 'react-router-dom'
4
4
5
5
import { ENDPOINT_ROOT } from '../api' ;
6
6
import { 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' ;
9
8
import TimelineIcon from '@material-ui/icons/TimelineOutlined' ;
10
9
import GetApp from '@material-ui/icons/GetApp' ;
11
- import IconButton from '@material-ui/core/IconButton' ;
12
10
import 'react-day-picker/style.css' ;
13
11
import { DataFile , FilesState } from './types' ;
14
12
import { 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' ;
16
14
import { 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' ;
20
16
export const FILES_ENDPOINT = ENDPOINT_ROOT + "files" ;
21
17
22
18
const useStyles = makeStyles ( ( theme ) => ( {
@@ -124,7 +120,7 @@ function Calendar(props: ICalendarProps) {
124
120
responses . forEach ( response => {
125
121
p1 . push ( response . arrayBuffer ( ) . then ( buffer => {
126
122
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 ) ) ;
128
124
console . log ( "file processed." )
129
125
} ) ) ;
130
126
} ) ;
@@ -232,7 +228,9 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
232
228
render ( ) {
233
229
if ( this . props . graphData && this . props . graphIndex ) {
234
230
return (
231
+
235
232
this . props . graphIndex . map ( ( keyindex , index ) => (
233
+ this . props . sensorInfos . get ( keyindex . name ) ?. index ?
236
234
< SectionContent title = { keyindex . name } titleGutter key = { index } >
237
235
< ResponsiveContainer width = "95%" height = { 400 } >
238
236
< LineChart height = { 300 } data = { this . props . graphData } syncId = "datalab" >
@@ -244,7 +242,7 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
244
242
< YAxis />
245
243
< Tooltip labelFormatter = { this . RenderTick } />
246
244
< 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 } />
248
246
{ /* <Line type="monotone" dataKey="pv" stroke="#82ca9d" /> */ }
249
247
</ LineChart >
250
248
</ ResponsiveContainer >
@@ -261,6 +259,7 @@ class DataViewForm extends Component<DataViewProps & WithStyles> {
261
259
Download all graph data
262
260
</ Button >
263
261
</ SectionContent >
262
+ : ""
264
263
) )
265
264
)
266
265
}
@@ -310,12 +309,14 @@ function getMergedDP(datapoints: DataPoint[], maxValPerSensor=0):[any[] , Map<st
310
309
return [ merged , sampling ] ;
311
310
}
312
311
313
- function extractDP ( buffer : ArrayBuffer , indexes : IIndex [ ] , tsstart :number ) : DataPoint [ ] {
312
+ function extractDP ( buffer : ArrayBuffer , indexes : IIndex [ ] , tsstart :number , range : DateRange ) : DataPoint [ ] {
314
313
var ret : DataPoint [ ] = [ ] ;
315
314
var i = 0 ;
316
315
for ( let offset = 0 ; offset * 7 < buffer . byteLength ; offset ++ ) {
317
316
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 ) ;
319
320
}
320
321
return ret ;
321
322
}
0 commit comments