Skip to content

Commit

Permalink
Ajout de l'export CSV avec gestion chien / race
Browse files Browse the repository at this point in the history
  • Loading branch information
leblanc-simon committed Apr 14, 2013
1 parent 755e21a commit e1277e5
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
70 changes: 70 additions & 0 deletions js/manage_course.js
Original file line number Diff line number Diff line change
Expand Up @@ -486,4 +486,74 @@ function printResultInsert()
$('.title-print').html(value);

window.print();
}


function exportResultInsert()
{
function helper_format(data)
{
var field;

if ($(data).html().match(/<input/)) {
field = '"' + $(data).find('input').val().replace(/"/g, '""') + '"';
} else if ($(data).text().match(/^[0-9]+$/)) {
field = parseInt($(data).text());
} else if ($(data).text() == 'Chien' && data.tagName.toLowerCase() == 'th') {
field = ['Chien', 'Race'];
} else if ($(data).text().match(/\//)) {
field = $(data).text().split('/');
} else {
field = '"' + $(data).text().replace(/"/g, '""') + '"';
}

if (field.constructor.toString().indexOf("Array") > -1) {
for (var i = 0; i < field.length; i++) {
field[i] = '"' + $.trim(field[i].replace(/"/g, '""')) + '"';
}
}

return field;
}

var csv_datas = [];
var csv_line = '';
$('.resultat-insert-participant table thead th').each(function(){
if (csv_line != '') {
csv_line += ';';
}
var csv_field = helper_format(this);

if (csv_field.constructor.toString().indexOf("Array") > -1) {
csv_line += csv_field.join(';');
} else {
csv_line += csv_field;
}
});

csv_datas.push(csv_line);

$('.resultat-insert-participant table tbody tr').each(function(){
csv_line = '';

$(this).find('td').each(function(){
if (csv_line != '') {
csv_line += ';';
}
var csv_field = helper_format(this);

if (csv_field.constructor.toString().indexOf("Array") > -1) {
csv_line += csv_field.join(';');
} else {
csv_line += csv_field;
}
});

csv_datas.push(csv_line);
});

var csv_output = csv_datas.join("\n");
var uri = 'data:text/csv;charset=UTF-8,' + encodeURIComponent(csv_output);

window.location.href = uri;
}
5 changes: 5 additions & 0 deletions js/tabs/resultat-insert.js
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ $(document).ready(function(){
"sExtends": "text",
"sButtonText": "Imprimer",
"fnClick": printResultInsert
},
{
"sExtends": "text",
"sButtonText": "Exporter en CSV",
"fnClick": exportResultInsert
}
]
}
Expand Down

0 comments on commit e1277e5

Please sign in to comment.