File size: 4,735 Bytes
15b7a79 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
function generateTable() {
var data = score_table; // The variable from model_scores.js
var table = '<table class="js-sort-table" id="results">';
table += `<tr>
<td class="js-sort-number"><strong>#</strong></td>
<td class="js-sort"><strong>Model</strong></td>
<td class="js-sort"><strong>Method</strong></td>
<td class="js-sort"><strong>Source</strong></td>
<td class="js-sort"><strong>Date</strong></td>
<td class="js-sort-number"><strong><u>ALL</u></strong></td>
<td class="js-sort-number"><strong>FQA</strong></td>
<td class="js-sort-number"><strong>GPS</strong></td>
<td class="js-sort-number"><strong>MWP</strong></td>
<td class="js-sort-number"><strong>TQA</strong></td>
<td class="js-sort-number"><strong>VQA</strong></td>
<td class="js-sort-number"><strong>ALG</strong></td>
<td class="js-sort-number"><strong>ARI</strong></td>
<td class="js-sort-number"><strong>GEO</strong></td>
<td class="js-sort-number"><strong>LOG</strong></td>
<td class="js-sort-number"><strong>NUM</strong></td>
<td class="js-sort-number"><strong>SCI</strong></td>
<td class="js-sort-number"><strong>STA</strong></td>
</tr>`;
// sort data to make sure the best model is on top
first_row = '-' // "Human Performance*"
console.log(data);
// get all keys in data
var keys = Object.keys(data);
// remove "Human Performance*" from keys
var index = keys.indexOf(first_row);
if (index > -1) {
keys.splice(index, 1);
}
// add "Human Performance*" to the top of keys
keys.unshift(first_row);
console.log(keys);
// for (var key in data) {
for (var i=0; i<keys.length; i++) {
var key = keys[i];
console.log(key);
var entry = data[key];
table += '<tr>';
table += `<td>${key}</td>`
// for key = "1", "2", "3"
top_ranks = ["1", "2", "3"]
if (top_ranks.includes(key)) {
table += `<td><b class="best-score-text">${entry.Model}</b></td>`;
table += `<td>${entry.Method}</td>`;
table += `<td><a href="${entry.Source}" class="ext-link" style="font-size: 16px;">Link</a></td>`;
table += `<td>${entry.Date}</td>`;
table += `<td><b class="best-score-text">${entry.ALL.toFixed(1).toString()}</b></td>`; // .toFixed(1): round to 1 decimal place
}
else {
table += `<td><b>${entry.Model}</b></td>`;
table += `<td>${entry.Method}</td>`;
table += `<td><a href="${entry.Source}" class="ext-link" style="font-size: 16px;">Link</a></td>`;
table += `<td>${entry.Date}</td>`;
table += `<td><b>${entry.ALL.toFixed(1).toString()}</b></td>`; // .toFixed(1): round to 1 decimal place
}
// if entry.FQA is a number
if (!isNaN(entry.FQA)) {
table += `<td>${entry.FQA.toFixed(1).toString()}</td>`;
table += `<td>${entry.GPS.toFixed(1).toString()}</td>`;
table += `<td>${entry.MWP.toFixed(1).toString()}</td>`;
table += `<td>${entry.TQA.toFixed(1).toString()}</td>`;
table += `<td>${entry.VQA.toFixed(1).toString()}</td>`;
table += `<td>${entry.ALG.toFixed(1).toString()}</td>`;
table += `<td>${entry.ARI.toFixed(1).toString()}</td>`;
table += `<td>${entry.GEO.toFixed(1).toString()}</td>`;
table += `<td>${entry.LOG.toFixed(1).toString()}</td>`;
table += `<td>${entry.NUM.toFixed(1).toString()}</td>`;
table += `<td>${entry.SCI.toFixed(1).toString()}</td>`;
table += `<td>${entry.STA.toFixed(1).toString()}</td>`;
}
else {
table += `<td>${entry.FQA.toString()}</td>`;
table += `<td>${entry.GPS.toString()}</td>`;
table += `<td>${entry.MWP.toString()}</td>`;
table += `<td>${entry.TQA.toString()}</td>`;
table += `<td>${entry.VQA.toString()}</td>`;
table += `<td>${entry.ALG.toString()}</td>`;
table += `<td>${entry.ARI.toString()}</td>`;
table += `<td>${entry.GEO.toString()}</td>`;
table += `<td>${entry.LOG.toString()}</td>`;
table += `<td>${entry.NUM.toString()}</td>`;
table += `<td>${entry.SCI.toString()}</td>`;
table += `<td>${entry.STA.toString()}</td>`;
}
table += '</tr>';
}
table += '</table>';
document.getElementById('testmini_leaderboard').innerHTML = table; // Assuming you have a div with id 'container' where the table will be placed
}
// Call the function when the window loads
window.onload = generateTable;
|