Fix colours of table rows and JS exception on sig_refs being null.

This commit is contained in:
Ian Renton
2025-10-31 10:50:49 +00:00
parent 0c5b5f2062
commit 193838b9d3
5 changed files with 41 additions and 19 deletions

View File

@@ -43,7 +43,7 @@ function updateTable() {
var showDE = $("#tableShowDE")[0].checked;
// Populate table with headers
let table = $('<table class="table table-striped-custom table-hover">').append('<thead><tr class="table-primary"></tr></thead><tbody></tbody>');
let table = $('<table class="table table-hover">').append('<thead><tr class="table-primary"></tr></thead><tbody></tbody>');
if (showTime) {
table.find('thead tr').append(`<th>${useLocalTime ? "Local" : "UTC"}</th>`);
}
@@ -76,10 +76,18 @@ function updateTable() {
table.find('tbody').append('<tr class="table-danger"><td colspan="100" style="text-align:center;">No spots match your filters.</td></tr>');
}
var count = 0;
spots.forEach(s => {
// Create row
let $tr = $('<tr>');
// Apply striping to the table. We can't just use Bootstrap's table-striped class because we have all sorts of
// extra faff to deal with, like the mobile view having extra rows, and the On Now / Next 24h / Later banners
// which cause the table-striped colouring to go awry.
if (count % 2 == 1) {
$tr.addClass("table-active");
}
// Show faded out if QRT
if (s["qrt"] == true) {
$tr.addClass("table-faded");
@@ -161,11 +169,13 @@ function updateTable() {
// Format sig_refs
var sig_refs = "";
var items = []
for (var i = 0; i < s["sig_refs"].length; i++) {
items[i] = `<a href='${s["sig_refs"][i]["url"]}' title='${s["sig_refs"][i]["name"]}' target='_new' class='sig-ref-link'>${s["sig_refs"][i]["id"]}</a>`
if (s["sig_refs"] != null) {
var items = []
for (var i = 0; i < s["sig_refs"].length; i++) {
items[i] = `<a href='${s["sig_refs"][i]["url"]}' title='${s["sig_refs"][i]["name"]}' target='_new' class='sig-ref-link'>${s["sig_refs"][i]["id"]}</a>`
}
sig_refs = items.join(", ");
}
sig_refs = items.join(", ");
// Format DE flag
var de_flag = "<i class='fa-solid fa-circle-question'></i>";
@@ -224,6 +234,9 @@ function updateTable() {
// Second row for mobile view only, containing type, ref & comment
$tr2 = $("<tr class='hidenotonmobile'>");
if (count % 2 == 1) {
$tr2.addClass("table-active");
}
if (s["qrt"] == true) {
$tr2.addClass("table-faded");
}
@@ -242,6 +255,8 @@ function updateTable() {
}
$tr2.append($td2);
table.find('tbody').append($tr2);
count++;
});
// Update DOM