Subversion Repositories Applications.reseau

Compare Revisions

No changes between 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();
}
}
}
});
/trunk/pages/miniregen/style.css
17,7 → 17,12
margin-top: 40px;
}
 
#ids {
.boite-liste {
float: left;
margin-right: 40px;
}
 
#ids-img, #ids-obs {
width: 300px;
height: 150px;
margin-bottom: 20px;
/trunk/pages/miniregen/index.html
19,16 → 19,23
</div>
<h1>MiniRegen - Régénérateur de<br/>miniatures pour Flora Data</h1>
<div id="zone-formulaire">
<label>Entrez un numéro d'image par ligne : </label>
<br/>
<textarea id="ids"></textarea>
<br/>
<div class="boite-liste">
<label>Par numéro d'image (un numéro par ligne) : </label>
<br/>
<textarea id="ids-img"></textarea>
</div>
<div class="boite-liste">
<label>Par numéro d'observation (un numéro par ligne) : </label>
<br/>
<textarea id="ids-obs"></textarea>
</div>
<br style="clear:both"/>
<a id="ok" class="btn btn-success">Régénérer les miniatures</a>
<span id="succes">
Les miniatures ont été régénérées :)
</span>
<span id="erreur">
Erreur lors de la régénération des miniatures :(
La régénération d'au moins une miniature a échoué :(
</span>
</div>
</div>
/trunk/pages/miniregen
Property changes:
Added: svn:ignore
+config.js