[new] add txt json download support
This commit is contained in:
@@ -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')
|
||||
}
|
||||
}
|
||||
@@ -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> <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> <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> <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> <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> <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> <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)
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user