@@ -10,7 +10,7 @@ function toArray(iter) {
10
10
return Array . prototype . slice . call ( iter ) ;
11
11
}
12
12
13
- function find ( selector , elem ) {
13
+ function find ( selector , elem ) { // eslint-disable-line no-redeclare
14
14
if ( ! elem ) {
15
15
elem = document ;
16
16
}
@@ -26,8 +26,8 @@ function find_all(selector, elem) {
26
26
27
27
function sort_column ( elem ) {
28
28
toggle_sort_states ( elem ) ;
29
- var colIndex = toArray ( elem . parentNode . childNodes ) . indexOf ( elem ) ;
30
- var key ;
29
+ const colIndex = toArray ( elem . parentNode . childNodes ) . indexOf ( elem ) ;
30
+ let key ;
31
31
if ( elem . classList . contains ( 'numeric' ) ) {
32
32
key = key_num ;
33
33
} else if ( elem . classList . contains ( 'result' ) ) {
@@ -40,75 +40,75 @@ function sort_column(elem) {
40
40
sort_table ( elem , key ( colIndex ) ) ;
41
41
}
42
42
43
- function show_all_extras ( ) {
43
+ function show_all_extras ( ) { // eslint-disable-line no-unused-vars
44
44
find_all ( '.col-result' ) . forEach ( show_extras ) ;
45
45
}
46
46
47
- function hide_all_extras ( ) {
47
+ function hide_all_extras ( ) { // eslint-disable-line no-unused-vars
48
48
find_all ( '.col-result' ) . forEach ( hide_extras ) ;
49
49
}
50
50
51
51
function show_extras ( colresult_elem ) {
52
- var extras = colresult_elem . parentNode . nextElementSibling ;
53
- var expandcollapse = colresult_elem . firstElementChild ;
54
- extras . classList . remove ( " collapsed" ) ;
55
- expandcollapse . classList . remove ( " expander" ) ;
56
- expandcollapse . classList . add ( " collapser" ) ;
52
+ const extras = colresult_elem . parentNode . nextElementSibling ;
53
+ const expandcollapse = colresult_elem . firstElementChild ;
54
+ extras . classList . remove ( ' collapsed' ) ;
55
+ expandcollapse . classList . remove ( ' expander' ) ;
56
+ expandcollapse . classList . add ( ' collapser' ) ;
57
57
}
58
58
59
59
function hide_extras ( colresult_elem ) {
60
- var extras = colresult_elem . parentNode . nextElementSibling ;
61
- var expandcollapse = colresult_elem . firstElementChild ;
62
- extras . classList . add ( " collapsed" ) ;
63
- expandcollapse . classList . remove ( " collapser" ) ;
64
- expandcollapse . classList . add ( " expander" ) ;
60
+ const extras = colresult_elem . parentNode . nextElementSibling ;
61
+ const expandcollapse = colresult_elem . firstElementChild ;
62
+ extras . classList . add ( ' collapsed' ) ;
63
+ expandcollapse . classList . remove ( ' collapser' ) ;
64
+ expandcollapse . classList . add ( ' expander' ) ;
65
65
}
66
66
67
67
function show_filters ( ) {
68
- var filter_items = document . getElementsByClassName ( 'filter' ) ;
69
- for ( var i = 0 ; i < filter_items . length ; i ++ )
68
+ const filter_items = document . getElementsByClassName ( 'filter' ) ;
69
+ for ( let i = 0 ; i < filter_items . length ; i ++ )
70
70
filter_items [ i ] . hidden = false ;
71
71
}
72
72
73
73
function add_collapse ( ) {
74
74
// Add links for show/hide all
75
- var resulttable = find ( 'table#results-table' ) ;
76
- var showhideall = document . createElement ( "p" ) ;
75
+ const resulttable = find ( 'table#results-table' ) ;
76
+ const showhideall = document . createElement ( 'p' ) ;
77
77
showhideall . innerHTML = '<a href="javascript:show_all_extras()">Show all details</a> / ' +
78
78
'<a href="javascript:hide_all_extras()">Hide all details</a>' ;
79
79
resulttable . parentElement . insertBefore ( showhideall , resulttable ) ;
80
80
81
81
// Add show/hide link to each result
82
82
find_all ( '.col-result' ) . forEach ( function ( elem ) {
83
- var collapsed = get_query_parameter ( 'collapsed' ) || 'Passed' ;
84
- var extras = elem . parentNode . nextElementSibling ;
85
- var expandcollapse = document . createElement ( " span" ) ;
86
- if ( extras . classList . contains ( " collapsed" ) ) {
87
- expandcollapse . classList . add ( " expander" )
83
+ const collapsed = get_query_parameter ( 'collapsed' ) || 'Passed' ;
84
+ const extras = elem . parentNode . nextElementSibling ;
85
+ const expandcollapse = document . createElement ( ' span' ) ;
86
+ if ( extras . classList . contains ( ' collapsed' ) ) {
87
+ expandcollapse . classList . add ( ' expander' ) ;
88
88
} else if ( collapsed . includes ( elem . innerHTML ) ) {
89
- extras . classList . add ( " collapsed" ) ;
90
- expandcollapse . classList . add ( " expander" ) ;
89
+ extras . classList . add ( ' collapsed' ) ;
90
+ expandcollapse . classList . add ( ' expander' ) ;
91
91
} else {
92
- expandcollapse . classList . add ( " collapser" ) ;
92
+ expandcollapse . classList . add ( ' collapser' ) ;
93
93
}
94
94
elem . appendChild ( expandcollapse ) ;
95
95
96
- elem . addEventListener ( " click" , function ( event ) {
97
- if ( event . currentTarget . parentNode . nextElementSibling . classList . contains ( " collapsed" ) ) {
96
+ elem . addEventListener ( ' click' , function ( event ) {
97
+ if ( event . currentTarget . parentNode . nextElementSibling . classList . contains ( ' collapsed' ) ) {
98
98
show_extras ( event . currentTarget ) ;
99
99
} else {
100
100
hide_extras ( event . currentTarget ) ;
101
101
}
102
102
} ) ;
103
- } )
103
+ } ) ;
104
104
}
105
105
106
106
function get_query_parameter ( name ) {
107
- var match = RegExp ( '[?&]' + name + '=([^&]*)' ) . exec ( window . location . search ) ;
107
+ const match = RegExp ( '[?&]' + name + '=([^&]*)' ) . exec ( window . location . search ) ;
108
108
return match && decodeURIComponent ( match [ 1 ] . replace ( / \+ / g, ' ' ) ) ;
109
109
}
110
110
111
- function init ( ) {
111
+ function init ( ) { // eslint-disable-line no-unused-vars
112
112
reset_sort_headers ( ) ;
113
113
114
114
add_collapse ( ) ;
@@ -118,52 +118,51 @@ function init () {
118
118
sort_column ( find ( '.initial-sort' ) ) ;
119
119
120
120
find_all ( '.sortable' ) . forEach ( function ( elem ) {
121
- elem . addEventListener ( " click" ,
122
- function ( event ) {
123
- sort_column ( elem ) ;
124
- } , false )
121
+ elem . addEventListener ( ' click' ,
122
+ function ( ) {
123
+ sort_column ( elem ) ;
124
+ } , false ) ;
125
125
} ) ;
126
-
127
- } ;
126
+ }
128
127
129
128
function sort_table ( clicked , key_func ) {
130
- var rows = find_all ( '.results-table-row' ) ;
131
- var reversed = ! clicked . classList . contains ( 'asc' ) ;
132
- var sorted_rows = sort ( rows , key_func , reversed ) ;
129
+ const rows = find_all ( '.results-table-row' ) ;
130
+ const reversed = ! clicked . classList . contains ( 'asc' ) ;
131
+ const sorted_rows = sort ( rows , key_func , reversed ) ;
133
132
/* Whole table is removed here because browsers acts much slower
134
133
* when appending existing elements.
135
134
*/
136
- var thead = document . getElementById ( " results-table-head" ) ;
135
+ const thead = document . getElementById ( ' results-table-head' ) ;
137
136
document . getElementById ( 'results-table' ) . remove ( ) ;
138
- var parent = document . createElement ( " table" ) ;
139
- parent . id = " results-table" ;
137
+ const parent = document . createElement ( ' table' ) ;
138
+ parent . id = ' results-table' ;
140
139
parent . appendChild ( thead ) ;
141
140
sorted_rows . forEach ( function ( elem ) {
142
141
parent . appendChild ( elem ) ;
143
142
} ) ;
144
- document . getElementsByTagName ( " BODY" ) [ 0 ] . appendChild ( parent ) ;
143
+ document . getElementsByTagName ( ' BODY' ) [ 0 ] . appendChild ( parent ) ;
145
144
}
146
145
147
146
function sort ( items , key_func , reversed ) {
148
- var sort_array = items . map ( function ( item , i ) {
147
+ const sort_array = items . map ( function ( item , i ) {
149
148
return [ key_func ( item ) , i ] ;
150
149
} ) ;
151
150
152
151
sort_array . sort ( function ( a , b ) {
153
- var key_a = a [ 0 ] ;
154
- var key_b = b [ 0 ] ;
152
+ const key_a = a [ 0 ] ;
153
+ const key_b = b [ 0 ] ;
155
154
156
155
if ( key_a == key_b ) return 0 ;
157
156
158
157
if ( reversed ) {
159
- return ( key_a < key_b ? 1 : - 1 ) ;
158
+ return key_a < key_b ? 1 : - 1 ;
160
159
} else {
161
- return ( key_a > key_b ? 1 : - 1 ) ;
160
+ return key_a > key_b ? 1 : - 1 ;
162
161
}
163
162
} ) ;
164
163
165
164
return sort_array . map ( function ( item ) {
166
- var index = item [ 1 ] ;
165
+ const index = item [ 1 ] ;
167
166
return items [ index ] ;
168
167
} ) ;
169
168
}
@@ -182,15 +181,15 @@ function key_num(col_index) {
182
181
183
182
function key_link ( col_index ) {
184
183
return function ( elem ) {
185
- dataCell = elem . childNodes [ 1 ] . childNodes [ col_index ] . firstChild
186
- return dataCell == null ? "" : dataCell . innerText . toLowerCase ( ) ;
184
+ const dataCell = elem . childNodes [ 1 ] . childNodes [ col_index ] . firstChild ;
185
+ return dataCell == null ? '' : dataCell . innerText . toLowerCase ( ) ;
187
186
} ;
188
187
}
189
188
190
189
function key_result ( col_index ) {
191
190
return function ( elem ) {
192
- var strings = [ 'Error' , 'Failed' , 'Rerun' , 'XFailed' , 'XPassed' ,
193
- 'Skipped' , 'Passed' ] ;
191
+ const strings = [ 'Error' , 'Failed' , 'Rerun' , 'XFailed' , 'XPassed' ,
192
+ 'Skipped' , 'Passed' ] ;
194
193
return strings . indexOf ( elem . childNodes [ 1 ] . childNodes [ col_index ] . firstChild . data ) ;
195
194
} ;
196
195
}
@@ -200,12 +199,12 @@ function reset_sort_headers() {
200
199
elem . parentNode . removeChild ( elem ) ;
201
200
} ) ;
202
201
find_all ( '.sortable' ) . forEach ( function ( elem ) {
203
- var icon = document . createElement ( " div" ) ;
204
- icon . className = " sort-icon" ;
205
- icon . textContent = " vvv" ;
202
+ const icon = document . createElement ( ' div' ) ;
203
+ icon . className = ' sort-icon' ;
204
+ icon . textContent = ' vvv' ;
206
205
elem . insertBefore ( icon , elem . firstChild ) ;
207
- elem . classList . remove ( " desc" , " active" ) ;
208
- elem . classList . add ( " asc" , " inactive" ) ;
206
+ elem . classList . remove ( ' desc' , ' active' ) ;
207
+ elem . classList . add ( ' asc' , ' inactive' ) ;
209
208
} ) ;
210
209
}
211
210
@@ -225,21 +224,21 @@ function toggle_sort_states(elem) {
225
224
}
226
225
227
226
function is_all_rows_hidden ( value ) {
228
- return value . hidden == false ;
227
+ return value . hidden == false ;
229
228
}
230
229
231
- function filter_table ( elem ) {
232
- var outcome_att = " data-test-result" ;
233
- var outcome = elem . getAttribute ( outcome_att ) ;
234
- class_outcome = outcome + " results-table-row" ;
235
- var outcome_rows = document . getElementsByClassName ( class_outcome ) ;
230
+ function filter_table ( elem ) { // eslint-disable-line no-unused-vars
231
+ const outcome_att = ' data-test-result' ;
232
+ const outcome = elem . getAttribute ( outcome_att ) ;
233
+ const class_outcome = outcome + ' results-table-row' ;
234
+ const outcome_rows = document . getElementsByClassName ( class_outcome ) ;
236
235
237
- for ( var i = 0 ; i < outcome_rows . length ; i ++ ) {
236
+ for ( let i = 0 ; i < outcome_rows . length ; i ++ ) {
238
237
outcome_rows [ i ] . hidden = ! elem . checked ;
239
238
}
240
239
241
- var rows = find_all ( '.results-table-row' ) . filter ( is_all_rows_hidden ) ;
242
- var all_rows_hidden = rows . length == 0 ? true : false ;
243
- var not_found_message = document . getElementById ( " not-found-message" ) ;
240
+ const rows = find_all ( '.results-table-row' ) . filter ( is_all_rows_hidden ) ;
241
+ const all_rows_hidden = rows . length == 0 ? true : false ;
242
+ const not_found_message = document . getElementById ( ' not-found-message' ) ;
244
243
not_found_message . hidden = ! all_rows_hidden ;
245
244
}
0 commit comments