@@ -48,17 +48,37 @@ const TabularView = () => {
48
48
} , [ rowSelection ] ) ;
49
49
50
50
const sparkdataTip = ( row ) => {
51
- if ( row . data . activity ) {
52
- let tip = row . data . activity [ row . data . activity . length - 1 ] ;
53
- if ( tip > 0 ) {
54
- return bytesToSize ( tip ) ;
55
- }
56
- } else {
57
- console . log ( "no sparkdata" , row ) ;
51
+ if ( row . data && row . data . activity ) {
52
+ return row . data . activity [ row . data . activity . length - 1 ] ;
53
+ }
54
+ return 0 ;
55
+ }
56
+
57
+ const sparkdataTipFmt = ( row ) => {
58
+ let tip = sparkdataTip ( row ) ;
59
+ if ( tip > 0 ) {
60
+ return bytesToSize ( tip ) ;
58
61
}
59
62
return "" ;
60
63
} ;
61
64
65
+ const sparkdataAverage = ( row ) => {
66
+ if ( row . data && row . data . activity ) {
67
+ let average = row . data . activity . reduce ( ( acc , curr ) => { return acc + curr } , 0 ) ;
68
+ average /= row . data . activity . length ;
69
+ return average ;
70
+ }
71
+ return 0 ;
72
+ }
73
+
74
+ const sparkdataAverageFmt = ( row ) => {
75
+ let average = sparkdataAverage ( row ) ;
76
+ if ( average > 0 ) {
77
+ return bytesToSize ( average ) ;
78
+ }
79
+ return "" ;
80
+ }
81
+
62
82
const columns = useMemo < MRT_ColumnDef < Node > [ ] > (
63
83
( ) => [
64
84
{
@@ -70,8 +90,24 @@ const TabularView = () => {
70
90
header : 'Type' ,
71
91
} ,
72
92
{
73
- accessorFn : sparkdataTip ,
93
+ accessorFn : sparkdataTipFmt ,
74
94
header : 'Activity' ,
95
+ sortingFn : ( rowA , rowB ) => {
96
+ let tipA = sparkdataTip ( rowA . original ) ;
97
+ let tipB = sparkdataTip ( rowB . original ) ;
98
+ return tipA > tipB ? 1 : tipA < tipB ? - 1 : 0 ;
99
+ } ,
100
+ sortDescFirst : true
101
+ } ,
102
+ {
103
+ accessorFn : sparkdataAverageFmt ,
104
+ header : 'Activity 5m' ,
105
+ sortingFn : ( rowA , rowB ) => {
106
+ let avgA = sparkdataAverage ( rowA . original ) ;
107
+ let avgB = sparkdataAverage ( rowB . original ) ;
108
+ return avgA > avgB ? 1 : avgA < avgB ? - 1 : 0 ;
109
+ } ,
110
+ sortDescFirst : true
75
111
}
76
112
] ,
77
113
[ ] ,
0 commit comments