Avoid colour indications on outdated channels
This removes the colour indicator from `Last updated` labels. For outdated channels this label is now always grey.
Marek Fajkus committed
Jan 11, 2020 at 12:36 UTC
198217f34c5701fb4d53b4a814f264db6f2a9051
1 file changed
+25
-14
delft/eris/status-page/status.js
+25
-14
@@ -169,12 +169,15 @@ init()
169
var m = moment.unix(update_times[channel]['update_time']);
170
jobset['update_time_relative'] = m.fromNow()
171
jobset['update_time_local'] = m.format()
172
- if (m > moment().subtract(3, 'days')) {
172
+ // do not use color indications on outdated channels
173
+ if (jobset['current']) {
174
+ if (m > moment().subtract(3, 'days')) {
175
jobset['update_age'] = "success";
174
- } else if (m > moment().subtract(10, 'days')) {
176
+ } else if (m > moment().subtract(10, 'days')) {
177
jobset['update_age'] = "warning";
176
- } else {
178
+ } else {
179
jobset['update_age'] = "important";
180
+ }
181
}
182
} else {
183
continue
@@ -191,29 +194,37 @@ init()
194
return data.map(record => {
195
var row = document.createElement('tr');
196
row.innerHTML = '<td class="channel" /><td><span class="age label"></span></td><td class="github"><a class="revision" /></td><td class="hydra"><a class="hydra-link" /></td><td class="status"></td>';
197
+ var status = row.getElementsByClassName("status")[0];
198
+
199
if (record['current']) {
200
row.classList.add("current")
201
} else {
202
row.classList.add("stale")
198
- row.getElementsByClassName("status")[0].innerHTML += '<span class="label label-important">End of life</span>';
203
+ status.innerHTML += '<span class="label label-important">End of life</span>';
204
}
205
row.getElementsByClassName("channel")[0].innerText = record['channel'];
206
202
- row.getElementsByClassName("age")[0].innerText = record['update_time_relative'];
203
- row.getElementsByClassName("age")[0].title = record['update_time_local'];
204
- row.getElementsByClassName("age")[0].classList.add("label-" + record['update_age']);
205
- row.getElementsByClassName("revision")[0].innerText = record['short_revision'];
206
- row.getElementsByClassName("revision")[0].href = record['github_url'];
207
+ var date = row.getElementsByClassName("age")[0];
208
+ date.innerText = record['update_time_relative'];
209
+ date.title = record['update_time_local'];
210
+ date.classList.add("label-" + record['update_age']);
211
+
212
+ var revisions = row.getElementsByClassName("revision")[0];
213
+ revisions.innerText = record['short_revision'];
214
+ revisions.href = record['github_url'];
215
+
216
+ var hydraLink = row.getElementsByClassName("hydra-link")[0];
217
+ hydraLink.href = record['hydra_url'];
218
+ hydraLink.innerText = [record['project'], record['jobset'], record['job']].join('/');
219
208
- row.getElementsByClassName("hydra-link")[0].href = record['hydra_url'];
209
- row.getElementsByClassName("hydra-link")[0].innerText = [record['project'], record['jobset'], record['job']].join('/');
210
- row.getElementsByClassName("hydra")[0].style.backgroundImage = "linear-gradient(to right, " +
220
+ var hydra = row.getElementsByClassName("hydra")[0];
221
+ hydra.style.backgroundImage = "linear-gradient(to right, " +
222
(record['job_history'].map(val => val ? "#b5ffb5" : "#ff9e9e")).join(", ") +
223
")";
213
- row.getElementsByClassName("hydra")[0].title = `The Hydra job's state over time, since ${record['oldest_status_relative']}`;
224
+ hydra.title = `The Hydra job's state over time, since ${record['oldest_status_relative']}`;
225
226
if (record['job_history'][record['job_history'].length - 1] == 0) {
216
- row.getElementsByClassName("status")[0].innerHTML += '<span class="label label-important">Build problem</span>';
227
+ status.innerHTML += '<span class="label label-important">Build problem</span>';
228
229
}
230
return row;