[new] add txt json download support

This commit is contained in:
2021-01-08 19:18:37 +00:00
parent f223fa8c9a
commit 814fc3463e
13 changed files with 291 additions and 37 deletions

View File

@@ -53,6 +53,13 @@ $( document ).ready( () => {
$('#submission_info').hide();
$('#ulysses16_download').hide();
$('#att48_download').hide();
$('#st70_download').hide();
$('#a280_download').hide();
$('#pcb442_download').hide();
$('#dsj1000_download').hide();
$('#ulysses16_submit').hide();
$('#att48_submit').hide();
$('#st70_submit').hide();
@@ -209,21 +216,27 @@ function upload_leaderboard(name) {
data = {}
if(name === 'ulysses16') {
data.fitness = my_res.ulysses16.fitness;
data.solution = my_res.ulysses16.solution;
}
else if (name === 'att48') {
data.fitness = my_res.att48.fitness;
data.solution = my_res.att48.solution;
}
else if (name === 'st70') {
data.fitness = my_res.st70.fitness;
data.solution = my_res.st70.solution;
}
else if (name === 'a280') {
data.fitness = my_res.a280.fitness;
data.solution = my_res.a280.solution;
}
else if (name === 'pcb442') {
data.fitness = my_res.pcb442.fitness;
data.solution = my_res.pcb442.solution;
}
else if (name === 'dsj1000') {
data.fitness = my_res.dsj1000.fitness;
data.solution = my_res.dsj1000.solution;
}
data.name = $('#submit_name').val();
data.desc = $('#submit_desc').val()
@@ -287,4 +300,32 @@ function doAjax() {
{
alert('Failed to connect to server');
}
}
function downloadRes(id, tsp, file) {
// txt
if(file == 0) {
$.ajax({
type: "GET",
url: "/leaderboard",
data: {
"id": id,
"tsp": tsp,
"type": 'txt'
},
processData: false, //prevent jQuery from automatically transforming the data into a query string
contentType: false,
cache: false,
success: (data) => {
console.log(data)
},
error: (e) => {
// $("#listFiles").text(e.responseText);
}
});
}
// json
else {
console.log(id, 'json')
}
}

View File

@@ -52,41 +52,41 @@ socket.on('leaderboard', (obj) => {
$(".leaderboard-table").find("tr:not(:first):not(:last)").remove();
if(obj.ulysses16.length != 0) {
obj.ulysses16.forEach(element => {
$('#ulysses16-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#ulysses16-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=0&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=0&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#ulysses16_best').text(obj.ulysses16[0].fitness.toFixed(2));
}
if(obj.att48.length != 0 ) {
obj.att48.forEach(element => {
$('#att48-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#att48-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=1&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=1&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#att48_best').text(obj.att48[0].fitness.toFixed(2));
}
if (obj.st70.length != 0) {
obj.st70.forEach(element => {
$('#st70-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#st70-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=2&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=2&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#st70_best').text(obj.st70[0].fitness.toFixed(2));
}
if (obj.a280.length != 0) {
obj.a280.forEach(element => {
$('#a280-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#a280-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=30&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=3&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#a280_best').text(obj.a280[0].fitness.toFixed(2));
}
if(obj.pcb442.length != 0) {
obj.pcb442.forEach(element => {
$('#pcb442-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#pcb442-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=4&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=4&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#pcb442_best').text(obj.pcb442[0].fitness.toFixed(2));
}
if(obj.dsj1000.length != 0) {
obj.dsj1000.forEach(element => {
$('#dsj1000-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td></tr>')
$('#dsj1000-last').before('<tr id=""><td>' + element.name + '</td><td>' + element.fitness.toFixed(2) + '</td><td>' + element.desc + '</td><td><a href="/leaderboard?id=' + element.id + '&tsp=5&type=txt" target="_blank"><span class="badge badge-primary link">txt</span></a> &nbsp;&nbsp; <a href="/leaderboard?id=' + element.id + '&tsp=5&type=json" target="_blank"><span class="badge badge-success link">json</span></a></td></tr>')
});
$('#dsj1000_best').text(obj.dsj1000[0].fitness.toFixed(2));
}
@@ -110,6 +110,9 @@ function update_your_res(tsp_file, fitness) {
if(fitness > 0) {
$("#" + tsp_file + "_your").text(fitness.toFixed(2));
$("#" + tsp_file + "_download").show();
$("#" + tsp_file + "_download a:nth-child(1)").attr("href", "/api/files/result/?id="+ window.id + "&filename=" + tsp_file + ".txt");
$("#" + tsp_file + "_download a:nth-child(2)").attr("href", "/api/files/result/?id="+ window.id + "&filename=" + tsp_file + ".json");
enable_btn($("#" + tsp_file + "_submit"))
}
else if (fitness == -1)
@@ -130,7 +133,6 @@ function update_your_res(tsp_file, fitness) {
}
}
// Update personal result
socket.on('result', (res) => {
@@ -141,26 +143,32 @@ socket.on('result', (res) => {
res.forEach(e => {
if(e.name === "ulysses16.txt") {
my_res.ulysses16.fitness = e.fitness
my_res.ulysses16.solution = e.solution
update_your_res("ulysses16", e.fitness)
}
if(e.name === "att48.txt") {
my_res.att48.fitness = e.fitness
my_res.att48.solution = e.solution
update_your_res("att48", e.fitness)
}
if(e.name === "st70.txt") {
my_res.st70.fitness = e.fitness
my_res.st70.solution = e.solution
update_your_res("st70", e.fitness)
}
if(e.name === "a280.txt") {
my_res.a280.fitness = e.fitness
my_res.a280.solution = e.solution
update_your_res("a280", e.fitness)
}
if(e.name === "pcb442.txt") {
my_res.pcb442.fitness = e.fitness
my_res.pcb442.solution = e.solution
update_your_res("pcb442", e.fitness)
}
if(e.name === "dsj1000.txt") {
my_res.dsj1000.fitness = e.fitness
my_res.dsj1000.solution = e.solution
update_your_res("dsj1000", e.fitness)
}
});