Subversion Repositories Applications.reseau

Compare Revisions

Ignore whitespace Rev 88 → Rev 89

/trunk/pages/miniregen/script.js
9,44 → 9,106
regenererMiniatures();
});
 
// pour faire se rejoindre les callback
cptRequetes = 0;
cptErreurs = 0;
 
function idValide(id) {
//console.log(id);
//console.log("idValide ? : " + id);
intId = parseInt(id);
//console.log(intId);
return (! isNaN(intId) && intId > 0);
}
 
/**
* prend en entrée la valeur d'un textarea, qui peut etre vide; si elle est
* vide ("") ou si elle ne contient que des entiers valides (un par ligne),
* retourne un tableau contenant ces ids (ou aucun élément); sinon, retourne
* false
*/
function validerIds(ids) {
var valides = true;
if (ids != "") {
ids = ids.split("\n");
//console.log(ids);
for (var i=0; (i < ids.length) && valides; i++) {
//console.log('teste', ids[i]);
valides = (valides && idValide(ids[i]));
}
} else {
ids = []; // tableau vide
}
if (! valides) {
ids = false;
}
return ids;
}
 
// génération des URLs
function regenererMiniatures() {
cptRequetes = 0;
cptErreurs = 0;
// validation des ids
var ids = $("#ids").val();
ids = ids.split("\n");
//console.log(ids);
var valides = true;
for (var i=0; (i < ids.length) && valides; i++) {
//console.log('teste', ids[i]);
valides = (valides && idValide(ids[i]));
var idsImg = $("#ids-img").val();
var idsObs = $("#ids-obs").val();
if (idsObs == "" && idsImg == "") {
alert("Merci de saisir au moins 1 id image ou 1 id observation");
return false;
}
if (! valides) {
idsImg = validerIds(idsImg);
idsObs = validerIds(idsObs);
if (! (idsImg && idsObs)) {
alert("Merci de ne saisir que des nombres > 0 (un par ligne)");
return false;
}
// création de l'URL à partir de la config
var url = urlServiceSuppressionMiniatures + '?ids=' + ids.join(',');
//console.log(url);
//console.log('ok');
idsImg = $.unique(idsImg);
idsObs = $.unique(idsObs);
//console.log(idsImg);
//console.log(idsObs);
 
$("body").css("cursor", "progress");
// création des URLs à partir de la config
if (idsImg.length > 0) {
cptRequetes++;
var url = urlServiceSuppressionMiniatures + '?ids-img=' + idsImg.join(',');
//console.log(url);
envoyerRequete(url, suite);
}
if (idsObs.length > 0) {
cptRequetes++;
var url = urlServiceSuppressionMiniatures + '?ids-obs=' + idsObs.join(',');
//console.log(url);
envoyerRequete(url, suite);
}
}
 
function envoyerRequete(url, cb) {
$.get(url)
.done(function() {
$('#succes').show();
$('#erreur').hide();
$('#ids').val('');
})
.fail(function() {
$('#succes').hide();
$('#erreur').show();
//console.log('a foiré :(');
cptErreurs++;
})
.always(function() {
$("body").css("cursor", "default");
cb();
});
}
 
function suite() {
cptRequetes--;
if (cptRequetes == 0) {
//console.log('a fini !');
$("body").css("cursor", "default");
// ok
if (cptErreurs == 0) {
//console.log('yatoukébon');
$('#succes').show();
$('#erreur').hide();
$('#ids-img').val('');
$('#ids-obs').val('');
} else {
$('#succes').hide();
$('#erreur').show();
}
}
}
});