@@ -35,12 +35,20 @@ const defaultColumns = [
35
35
'mechanism'
36
36
]
37
37
38
+ // normalize data
39
+ Object . keys ( data ) . forEach ( library => {
40
+ Object . keys ( columnNames ) . forEach ( column => {
41
+ if ( ! data [ library ] . hasOwnProperty ( column ) ) {
42
+ data [ library ] [ column ] = false
43
+ }
44
+ } )
45
+ } )
46
+
38
47
export default class TableView extends Component {
39
48
constructor ( props , context ) {
40
49
super ( props , context )
41
50
this . state = {
42
51
sortBy : undefined ,
43
- sortAscending : true ,
44
52
allCollumns : true ,
45
53
filters : {
46
54
vendorPrefixing : false ,
@@ -97,8 +105,7 @@ export default class TableView extends Component {
97
105
98
106
sortBy ( column ) {
99
107
this . setState ( {
100
- sortBy : this . state . sortBy === column && ! this . state . sortAscending ? undefined : column ,
101
- sortAscending : this . state . sortBy === column ? ! this . state . sortAscending : true
108
+ sortBy : this . state . sortBy === column ? undefined : column
102
109
} )
103
110
}
104
111
@@ -129,9 +136,9 @@ export default class TableView extends Component {
129
136
</ Cell >
130
137
) )
131
138
132
- const sortData = Object . keys ( data ) . sort ( left => {
139
+ const sortData = Object . keys ( data ) . sort ( ( left , right ) => {
133
140
if ( this . state . sortBy ) {
134
- if ( data [ left ] [ this . state . sortBy ] === this . state . sortAscending ) {
141
+ if ( data [ left ] [ this . state . sortBy ] > data [ right ] [ this . state . sortBy ] ) {
135
142
return - 1
136
143
} else {
137
144
return 1
@@ -146,11 +153,14 @@ export default class TableView extends Component {
146
153
return fulfilled
147
154
} , true )
148
155
149
- if ( this . state . filter ) {
150
- return library . indexOf ( this . state . filter ) > - 1 && fulfilled
151
- }
156
+ if ( fulfilled ) {
157
+ if ( this . state . filter ) {
158
+ return library . indexOf ( this . state . filter ) > - 1
159
+ }
152
160
153
- return fulfilled
161
+ return true
162
+ }
163
+ return false
154
164
} )
155
165
156
166
const libraries = sortData . map ( library => this . renderRow ( library , columns ) )
0 commit comments