Subversion Repositories Applications.reseau

Rev

Rev 82 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
81 mathias 1
$(document).ready(function() {
2
	$('#succes').hide();
3
	$('#erreur').hide();
4
 
5
	// écouteur de clic
6
	$("#ok").click(function() {
7
		$('#succes').hide();
8
		$('#erreur').hide();
9
		regenererMiniatures();
10
	});
11
 
89 mathias 12
	// pour faire se rejoindre les callback
13
	cptRequetes = 0;
14
	cptErreurs = 0;
15
 
81 mathias 16
	function idValide(id) {
89 mathias 17
		//console.log("idValide ? : " + id);
81 mathias 18
		intId = parseInt(id);
19
		return (! isNaN(intId) && intId > 0);
20
	}
21
 
89 mathias 22
	/**
23
	 * prend en entrée la valeur d'un textarea, qui peut etre vide; si elle est
24
	 * vide ("") ou si elle ne contient que des entiers valides (un par ligne),
25
	 * retourne un tableau contenant ces ids (ou aucun élément); sinon, retourne
26
	 * false
27
	 */
28
	function validerIds(ids) {
29
		var valides = true;
30
		if (ids != "") {
31
			ids = ids.split("\n");
32
			//console.log(ids);
33
			for (var i=0; (i < ids.length) && valides; i++) {
34
				//console.log('teste', ids[i]);
35
				valides = (valides && idValide(ids[i]));
36
			}
37
		} else {
38
			ids = []; // tableau vide
39
		}
40
		if (! valides) {
41
			ids = false;
42
		}
43
		return ids;
44
	}
45
 
81 mathias 46
	// génération des URLs
47
	function regenererMiniatures() {
89 mathias 48
		cptRequetes = 0;
49
		cptErreurs = 0;
81 mathias 50
		// validation des ids
89 mathias 51
		var idsImg = $("#ids-img").val();
52
		var idsObs = $("#ids-obs").val();
53
		if (idsObs == "" && idsImg == "") {
54
			alert("Merci de saisir au moins 1 id image ou 1 id observation");
55
			return false;
81 mathias 56
		}
89 mathias 57
		idsImg = validerIds(idsImg);
58
		idsObs = validerIds(idsObs);
59
		if (! (idsImg && idsObs)) {
81 mathias 60
			alert("Merci de ne saisir que des nombres > 0 (un par ligne)");
61
			return false;
62
		}
89 mathias 63
		//console.log('ok');
64
		idsImg = $.unique(idsImg);
65
		idsObs = $.unique(idsObs);
66
		//console.log(idsImg);
67
		//console.log(idsObs);
68
 
82 mathias 69
		$("body").css("cursor", "progress");
89 mathias 70
		// création des URLs à partir de la config
71
		if (idsImg.length > 0) {
72
			cptRequetes++;
73
			var url = urlServiceSuppressionMiniatures + '?ids-img=' + idsImg.join(',');
74
			//console.log(url);
75
			envoyerRequete(url, suite);
76
		}
77
		if (idsObs.length > 0) {
78
			cptRequetes++;
79
			var url = urlServiceSuppressionMiniatures + '?ids-obs=' + idsObs.join(',');
80
			//console.log(url);
81
			envoyerRequete(url, suite);
82
		}
83
	}
84
 
85
	function envoyerRequete(url, cb) {
81 mathias 86
		$.get(url)
87
			.fail(function() {
89 mathias 88
				//console.log('a foiré :(');
89
				cptErreurs++;
82 mathias 90
			})
91
			.always(function() {
89 mathias 92
				cb();
81 mathias 93
			});
94
	}
89 mathias 95
 
96
	function suite() {
97
		cptRequetes--;
98
		if (cptRequetes == 0) {
99
			//console.log('a fini !');
100
			$("body").css("cursor", "default");
101
			// ok
102
			if (cptErreurs == 0) {
103
				//console.log('yatoukébon');
104
				$('#succes').show();
105
				$('#erreur').hide();
106
				$('#ids-img').val('');
107
				$('#ids-obs').val('');
108
			} else {
109
				$('#succes').hide();
110
				$('#erreur').show();
111
			}
112
		}
113
	}
81 mathias 114
});