@@ -26,19 +26,19 @@ function highlightJobsHtml (children, parents) {
26
26
27
27
function renderTestName ( data , type , row ) {
28
28
if ( type === 'display' ) {
29
- var html = '<span class="result_' + row [ 'result' ] + '">' ;
30
- html += '<a href="/tests/' + row [ 'id' ] + '">' ;
31
- html += '<i class="status fa fa-circle" title="Done: ' + row [ 'result' ] + '"></i>' ;
32
- if ( is_operator && ! row [ 'clone' ] ) {
33
- var url = restart_url . replace ( 'REPLACEIT' , row [ 'id' ] ) ;
29
+ var html = '<span class="result_' + row [ 'result' ] + '">' ;
30
+ html += '<a href="/tests/' + row [ 'id' ] + '">' ;
31
+ html += '<i class="status fa fa-circle" title="Done: ' + row [ 'result' ] + '"></i>' ;
32
+ if ( is_operator && ! row [ 'clone' ] ) {
33
+ var url = restart_url . replace ( 'REPLACEIT' , row [ 'id' ] ) ;
34
34
html += ' <a data-method="POST" data-remote="true" class="restart"' ;
35
- html += ' href="' + url + '">' ;
35
+ html += ' href="' + url + '">' ;
36
36
html += '<i class="action fa fa-repeat" title="Restart Job"></i></a>' ;
37
- }
37
+ }
38
38
html += '</a> ' ;
39
- // the name
40
- html += '<a href="/tests/' + row [ 'id' ] + '" class="name">' + data + '</a>' ;
41
- html += '</span>' ;
39
+ // the name
40
+ html += '<a href="/tests/' + row [ 'id' ] + '" class="name">' + data + '</a>' ;
41
+ html += '</span>' ;
42
42
43
43
var deps = '' ;
44
44
if ( row [ 'deps' ] [ 'parents' ] [ 'Chained' ] . length ) {
@@ -85,133 +85,143 @@ function renderTestName ( data, type, row ) {
85
85
'><i class="fa fa-code-fork"></i></a>' ;
86
86
}
87
87
88
- if ( row [ 'clone' ] )
88
+ if ( row [ 'clone' ] )
89
89
html += ' <a href="/tests/' + row [ 'clone' ] + '">(restarted)</a>' ;
90
90
91
91
return html ;
92
92
} else {
93
- return data ;
93
+ return data ;
94
94
}
95
95
}
96
96
97
97
function renderTestResult ( data , type , row ) {
98
98
if ( type === 'display' ) {
99
- var html = '' ;
100
- if ( row [ 'state' ] === 'done' ) {
101
- html += data [ 'passed' ] + "<i class='fa module_passed fa-star' title='modules passed'></i>" ;
102
- if ( data [ 'dents' ] ) {
103
- html += " " + data [ 'dents' ] + "<i class='fa module_softfail fa-star-half-empty' title='modules with warnings'></i> " ;
104
- }
105
- if ( data [ 'failed' ] ) {
106
- html += " " + data [ 'failed' ] + "<i class='fa module_failed fa-star-o' title='modules failed'></i> " ;
107
- }
108
- if ( data [ 'none' ] ) {
109
- html += " " + data [ 'none' ] + "<i class='fa module_none fa-ban' title='modules skipped'></i> " ;
110
- }
111
- }
112
- if ( row [ 'state' ] === 'cancelled' ) {
113
- html += "<i class='fa fa-times' title='canceled'></i>" ;
114
- }
115
- if ( row [ 'deps' ] [ 'parents' ] [ 'Parallel' ] . length + row [ 'deps' ] [ 'parents' ] [ 'Chained' ] . length > 0 ) {
116
- if ( row [ 'result' ] === 'skipped' ||
117
- row [ 'result' ] === 'parallel_failed' ) {
118
- html += "<i class='fa fa-chain-broken' title='dependency failed'></i>" ;
119
- }
120
- else {
121
- html += "<i class='fa fa-link' title='dependency passed'></i>" ;
122
- }
123
- }
99
+ var html = '' ;
100
+ if ( row [ 'state' ] === 'done' ) {
101
+ html += data [ 'passed' ] + "<i class='fa module_passed fa-star' title='modules passed'></i>" ;
102
+ if ( data [ 'dents' ] ) {
103
+ html += " " + data [ 'dents' ] + "<i class='fa module_softfail fa-star-half-empty' title='modules with warnings'></i> " ;
104
+ }
105
+ if ( data [ 'failed' ] ) {
106
+ html += " " + data [ 'failed' ] + "<i class='fa module_failed fa-star-o' title='modules failed'></i> " ;
107
+ }
108
+ if ( data [ 'none' ] ) {
109
+ html += " " + data [ 'none' ] + "<i class='fa module_none fa-ban' title='modules skipped'></i> " ;
110
+ }
111
+ }
112
+ if ( row [ 'state' ] === 'cancelled' ) {
113
+ html += "<i class='fa fa-times' title='canceled'></i>" ;
114
+ }
115
+ if ( row [ 'deps' ] [ 'parents' ] [ 'Parallel' ] . length + row [ 'deps' ] [ 'parents' ] [ 'Chained' ] . length > 0 ) {
116
+ if ( row [ 'result' ] === 'skipped' ||
117
+ row [ 'result' ] === 'parallel_failed' ) {
118
+ html += "<i class='fa fa-chain-broken' title='dependency failed'></i>" ;
119
+ }
120
+ else {
121
+ html += "<i class='fa fa-link' title='dependency passed'></i>" ;
122
+ }
123
+ }
124
124
return '<a href="/tests/' + row [ 'id' ] + '">' + html + '</a>' ;
125
125
} else {
126
- return ( parseInt ( data [ 'passed' ] ) * 10000 ) + ( parseInt ( data [ 'dents' ] ) * 100 ) + parseInt ( data [ 'failed' ] ) ;
126
+ return ( parseInt ( data [ 'passed' ] ) * 10000 ) + ( parseInt ( data [ 'dents' ] ) * 100 ) + parseInt ( data [ 'failed' ] ) ;
127
127
}
128
128
}
129
129
130
130
function renderTestsList ( jobs ) {
131
131
132
132
var table = $ ( '#results' ) . DataTable ( {
133
- "dom" : 'l<"#toolbar">frtip' ,
134
- "lengthMenu" : [ [ 10 , 25 , 50 ] , [ 10 , 25 , 50 ] ] ,
135
- "ajax" : {
136
- "url" : "/tests/list_ajax" ,
137
- "type" : "POST" , // we use POST as the URLs can get long
138
- "data" : function ( d ) {
139
- var ret = {
140
- "relevant" : $ ( '#relevantfilter' ) . prop ( 'checked' )
141
- } ;
142
- if ( jobs != null ) {
143
- ret [ 'jobs' ] = jobs ;
144
- ret [ 'initial' ] = 1 ;
145
- }
146
- // reset for reload
147
- jobs = null ;
148
- return ret ;
149
- }
150
- } ,
151
- // no initial resorting
152
- "order" : [ ] ,
153
- "columns" : [
154
- { "data" : "name" } ,
155
- { "data" : "test" } ,
156
- { "data" : "result_stats" } ,
157
- { "data" : "testtime" } ,
158
- ] ,
159
- "columnDefs" : [
160
- { targets : 0 ,
161
- className : "name" ,
162
- "render" : function ( data , type , row ) {
163
- var link = '/tests/overview?build=' + row [ 'build' ] ;
164
- if ( row [ 'group' ] )
165
- link += '&groupid=' + row [ 'group' ] ;
166
- else
167
- link += '&distri=' + row [ 'distri' ] + '&version=' + row [ 'version' ] ;
168
-
169
- var name = "<a href='" + link + "'>" + 'Build' + row [ 'build' ] + '</a>' ;
170
- name += " of " ;
171
- return name + row [ 'distri' ] + "-" + row [ 'version' ] + "-" + row [ 'flavor' ] + "." + row [ 'arch' ] ;
172
- }
173
- } ,
174
- { targets : 1 ,
175
- className : "test" ,
176
- "render" : renderTestName
177
- } ,
178
- { targets : 3 ,
179
- "render" : function ( data , type , row ) {
180
- if ( type === 'display' )
181
- return jQuery . timeago ( data + " UTC" ) ;
182
- else
183
- return data ;
184
- }
185
- } ,
186
- { targets : 2 ,
187
- "render" : renderTestResult
188
- }
189
- ] ,
133
+ "dom" : 'l<"#toolbar">frtip' ,
134
+ "lengthMenu" : [ [ 10 , 25 , 50 ] , [ 10 , 25 , 50 ] ] ,
135
+ "ajax" : {
136
+ "url" : "/tests/list_ajax" ,
137
+ "type" : "POST" , // we use POST as the URLs can get long
138
+ "data" : function ( d ) {
139
+ var ret = {
140
+ "relevant" : $ ( '#relevantfilter' ) . prop ( 'checked' )
141
+ } ;
142
+ if ( jobs != null ) {
143
+ ret [ 'jobs' ] = jobs ;
144
+ ret [ 'initial' ] = 1 ;
145
+ }
146
+ // reset for reload
147
+ jobs = null ;
148
+ return ret ;
149
+ }
150
+ } ,
151
+ // no initial resorting
152
+ "order" : [ ] ,
153
+ "columns" : [
154
+ { "data" : "name" } ,
155
+ { "data" : "test" } ,
156
+ { "data" : "result_stats" } ,
157
+ { "data" : "testtime" } ,
158
+ ] ,
159
+ "columnDefs" : [
160
+ { targets : 0 ,
161
+ className : "name" ,
162
+ "render" : function ( data , type , row ) {
163
+ var link = '/tests/overview?build=' + row [ 'build' ] ;
164
+ if ( row [ 'group' ] )
165
+ link += '&groupid=' + row [ 'group' ] ;
166
+ else
167
+ link += '&distri=' + row [ 'distri' ] + '&version=' + row [ 'version' ] ;
168
+
169
+ var name = "<a href='" + link + "'>" + 'Build' + row [ 'build' ] + '</a>' ;
170
+ name += " of " ;
171
+ return name + row [ 'distri' ] + "-" + row [ 'version' ] + "-" + row [ 'flavor' ] + "." + row [ 'arch' ] ;
172
+ }
173
+ } ,
174
+ { targets : 1 ,
175
+ className : "test" ,
176
+ "render" : renderTestName
177
+ } ,
178
+ { targets : 3 ,
179
+ "render" : function ( data , type , row ) {
180
+ if ( type === 'display' )
181
+ return jQuery . timeago ( data + " UTC" ) ;
182
+ else
183
+ return data ;
184
+ }
185
+ } ,
186
+ { targets : 2 ,
187
+ "render" : renderTestResult
188
+ }
189
+ ]
190
190
} ) ;
191
191
$ ( "#relevantbox" ) . detach ( ) . appendTo ( '#toolbar' ) ;
192
192
$ ( '#relevantbox' ) . css ( 'display' , 'inherit' ) ;
193
193
// Event listener to the two range filtering inputs to redraw on input
194
194
$ ( '#relevantfilter' ) . change ( function ( ) {
195
- $ ( '#relevantbox' ) . css ( 'color' , 'cyan' ) ;
195
+ $ ( '#relevantbox' ) . css ( 'color' , 'cyan' ) ;
196
196
table . ajax . reload ( function ( ) {
197
- $ ( '#relevantbox' ) . css ( 'color' , 'inherit' ) ;
198
- } ) ;
197
+ $ ( '#relevantbox' ) . css ( 'color' , 'inherit' ) ;
198
+ } ) ;
199
199
} ) ;
200
- } ;
201
-
202
- $ ( document ) . on ( "click" , '.restart' , function ( ) {
203
- var restart_link = $ ( this ) ;
204
- var link = $ ( this ) . parent ( 'span' ) . find ( '.name' ) ;
205
- $ . post ( restart_link . attr ( "href" ) ) . done ( function ( data ) { $ ( link ) . append ( ' (restarted)' ) ; } ) ;
206
- $ ( this ) . html ( '' ) ;
207
- } ) ;
208
-
209
- $ ( document ) . on ( 'click' , '.cancel' , function ( ) {
210
- var cancel_link = $ ( this ) ;
211
- var test = $ ( this ) . parent ( 'td' ) ;
212
- $ . post ( cancel_link . attr ( "href" ) ) . done ( function ( data ) { $ ( test ) . append ( ' (cancelled)' ) ; } ) ;
213
- $ ( this ) . html ( '' ) ;
214
- } ) ;
215
-
216
- $ ( document ) . on ( 'mouseover' , '.parent_child' , highlightJobs ) ;
217
- $ ( document ) . on ( 'mouseout' , '.parent_child' , unhighlightJobs ) ;
200
+
201
+ $ ( document ) . on ( 'mouseover' , '.parent_child' , highlightJobs ) ;
202
+ $ ( document ) . on ( 'mouseout' , '.parent_child' , unhighlightJobs ) ;
203
+
204
+
205
+ $ ( document ) . on ( "click" , '.restart' , function ( ) {
206
+ var restart_link = $ ( this ) ;
207
+ var link = $ ( this ) . parent ( 'span' ) . find ( '.name' ) ;
208
+ $ . post ( restart_link . attr ( "href" ) ) . done ( function ( data ) { $ ( link ) . append ( ' (restarted)' ) ; } ) ;
209
+ $ ( this ) . html ( '' ) ;
210
+ } ) ;
211
+
212
+ $ ( document ) . on ( 'click' , '.cancel' , function ( ) {
213
+ var cancel_link = $ ( this ) ;
214
+ var test = $ ( this ) . parent ( 'td' ) ;
215
+ $ . post ( cancel_link . attr ( "href" ) ) . done ( function ( data ) { $ ( test ) . append ( ' (cancelled)' ) ; } ) ;
216
+ $ ( this ) . html ( '' ) ;
217
+ } ) ;
218
+ }
219
+
220
+ function setupResultButtons ( ) {
221
+ $ ( '#restart-result' ) . click ( function ( event ) {
222
+ event . preventDefault ( ) ;
223
+ $ . post ( $ ( this ) . attr ( "href" ) ) . done ( function ( data , res , xhr ) {
224
+ window . location . replace ( xhr . responseJSON . test_url ) ;
225
+ } ) ;
226
+ } ) ;
227
+ }
0 commit comments