Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 210 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 210 Rev 259
1
var urlBaseJrest = 'http://162.38.234.9/obs_saisons/applications/jrest/';
-
 
2
 
1
 
3
/** 
2
/** 
4
************************************************************************************************
3
************************************************************************************************
5
************************************************************************************************
4
************************************************************************************************
6
 
5
 
7
    Fonctions pour l'administration
6
    Fonctions pour l'administration
8
 
7
 
9
************************************************************************************************
8
************************************************************************************************
10
************************************************************************************************
9
************************************************************************************************
11
**/ 
10
**/ 
12
 
11
 
13
var liste_utilisateurs_en_cours;
12
var liste_utilisateurs_en_cours;
14
var indice_utilisateur_en_cours;
13
var indice_utilisateur_en_cours;
15
var timerRequeteAutocompletion;
14
var timerRequeteAutocompletion;
16
var timerAffichageAutocompletion;
15
var timerAffichageAutocompletion;
17
 
16
 
18
function ajouterAutoCompletionUtilisateurs() {
17
function ajouterAutoCompletionUtilisateurs() {
19
	
18
	
20
	$('input#identite_utilisateur').after('<div class="conteneur_suggestions_utilisateur"></div>');
19
	$('input#identite_utilisateur').after('<div class="conteneur_suggestions_utilisateur"></div>');
21
	$('input#identite_utilisateur').parent().addClass('autocompletion');
20
	$('input#identite_utilisateur').parent().addClass('autocompletion');
22
	$('input#identite_utilisateur').attr('autocomplete','off');
21
	$('input#identite_utilisateur').attr('autocomplete','off');
23
	$('.conteneur_suggestions_utilisateur').hide();
22
	$('.conteneur_suggestions_utilisateur').hide();
24
	rendreListeAutoCompletionUtilisateursInteractive('input#identite_utilisateur');
23
	rendreListeAutoCompletionUtilisateursInteractive('input#identite_utilisateur');
25
}
24
}
26
 
25
 
27
function obtenirInformationsUtilisateur(nom_utilisateur) {
26
function obtenirInformationsUtilisateur(nom_utilisateur) {
28
	
27
	
29
	if(jQuery.trim(nom_utilisateur) == '') {
28
	if(jQuery.trim(nom_utilisateur) == '') {
30
		$('.conteneur_suggestions_utilisateur').hide();
29
		$('.conteneur_suggestions_utilisateur').hide();
31
		return;
30
		return;
32
	}
31
	}
33
	
32
	
34
	$.get(urlBaseJrest+'OdsUtilisateur/'+nom_utilisateur, function(data) {	
33
	$.get(getUrlBaseJrest()+'OdsUtilisateur/'+nom_utilisateur, function(data) {	
35
				
34
				
36
		infos_utilisateurs = jQuery.parseJSON(data);
35
		infos_utilisateurs = jQuery.parseJSON(data);
37
		afficherListeAutoCompletionUtilisateur(infos_utilisateurs);		
36
		afficherListeAutoCompletionUtilisateur(infos_utilisateurs);		
38
	});
37
	});
39
}
38
}
40
 
39
 
41
 
40
 
42
function afficherListeAutoCompletionUtilisateur(tableau_utilisateur) {
41
function afficherListeAutoCompletionUtilisateur(tableau_utilisateur) {
43
	
42
	
44
	liste_utilisateurs_en_cours = tableau_utilisateur;
43
	liste_utilisateurs_en_cours = tableau_utilisateur;
45
	
44
	
46
	html_liste_utilisateurs = '<ul class="liste_suggestions">';
45
	html_liste_utilisateurs = '<ul class="liste_suggestions">';
47
	
46
	
48
	for(i = 0; i < tableau_utilisateur.length; i++) {
47
	for(i = 0; i < tableau_utilisateur.length; i++) {
49
		
48
		
50
		html_liste_utilisateurs += '<li id="utilisateur_'+i+'" class="element_auto_completion_utilisateur">'+tableau_utilisateur[i]['nom']+'</li>';
49
		html_liste_utilisateurs += '<li id="utilisateur_'+i+'" class="element_auto_completion_utilisateur">'+tableau_utilisateur[i]['nom']+'</li>';
51
	}
50
	}
52
	
51
	
53
	html_liste_utilisateurs += '</ul>';
52
	html_liste_utilisateurs += '</ul>';
54
	
53
	
55
	$('.conteneur_suggestions_utilisateur').html(html_liste_utilisateurs);
54
	$('.conteneur_suggestions_utilisateur').html(html_liste_utilisateurs);
56
	
55
	
57
	$('.element_auto_completion_utilisateur').hover(function() {
56
	$('.element_auto_completion_utilisateur').hover(function() {
58
		indice = $(this).attr('id').split('_')[1];
57
		indice = $(this).attr('id').split('_')[1];
59
		mettreEnSurbrillanceUtilisateur(indice);
58
		mettreEnSurbrillanceUtilisateur(indice);
60
	});
59
	});
61
	
60
	
62
	$('.element_auto_completion_utilisateur').click(function() {
61
	$('.element_auto_completion_utilisateur').click(function() {
63
		$('#identite_utilisateur').val($(this).val());
62
		$('#identite_utilisateur').val($(this).val());
64
		$('#form_changement_identite').submit();
63
		$('#form_changement_identite').submit();
65
	});
64
	});
66
	
65
	
67
	if(tableau_utilisateur.length > 0) {
66
	if(tableau_utilisateur.length > 0) {
68
		$('.conteneur_suggestions_utilisateur').show();
67
		$('.conteneur_suggestions_utilisateur').show();
69
		mettreEnSurbrillanceUtilisateur(0);
68
		mettreEnSurbrillanceUtilisateur(0);
70
	}
69
	}
71
}
70
}
72
 
71
 
73
function mettreEnSurbrillanceUtilisateur(indice) {
72
function mettreEnSurbrillanceUtilisateur(indice) {
74
	
73
	
75
	if(indice_utilisateur_en_cours != null) { 
74
	if(indice_utilisateur_en_cours != null) { 
76
		$('#utilisateur_'+indice_utilisateur_en_cours).removeClass('element_selectionne');
75
		$('#utilisateur_'+indice_utilisateur_en_cours).removeClass('element_selectionne');
77
	}
76
	}
78
	$('#utilisateur_'+indice).addClass('element_selectionne');
77
	$('#utilisateur_'+indice).addClass('element_selectionne');
79
	indice_utilisateur_en_cours = indice;
78
	indice_utilisateur_en_cours = indice;
80
	
79
	
81
	reprogrammerTimerPourCacherListeAutoCompletion();
80
	reprogrammerTimerPourCacherListeAutoCompletion();
82
}
81
}
83
 
82
 
84
function rendreListeAutoCompletionUtilisateursInteractive(selecteur) {
83
function rendreListeAutoCompletionUtilisateursInteractive(selecteur) {
85
	
84
	
86
	$(selecteur).keyup(function(event) {
85
	$(selecteur).keyup(function(event) {
87
		if(event.which == 8 || (event.which >= 48 && event.which <= 90)) { 
86
		if(event.which == 8 || (event.which >= 48 && event.which <= 90)) { 
88
			
87
			
89
			reprogrammerTimerPourCacherListeAutoCompletion();
88
			reprogrammerTimerPourCacherListeAutoCompletion();
90
			reprogrammerTimerPourLancerRequeteUtilisateur();
89
			reprogrammerTimerPourLancerRequeteUtilisateur();
91
		}
90
		}
92
	});
91
	});
93
	
92
	
94
	$(selecteur).keydown(function(event) {
93
	$(selecteur).keydown(function(event) {
95
		
94
		
96
		reprogrammerTimerPourCacherListeAutoCompletion();
95
		reprogrammerTimerPourCacherListeAutoCompletion();
97
		
96
		
98
		// entree
97
		// entree
99
		if(event.which==13){
98
		if(event.which==13){
100
			selectionnerUtilisateur(indice_utilisateur_en_cours);
99
			selectionnerUtilisateur(indice_utilisateur_en_cours);
101
		}
100
		}
102
		
101
		
103
		// haut
102
		// haut
104
		if(event.which == 38){
103
		if(event.which == 38){
105
			if(indice_utilisateur_en_cours > 0) { 
104
			if(indice_utilisateur_en_cours > 0) { 
106
				mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours - 1);
105
				mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours - 1);
107
			}
106
			}
108
		}
107
		}
109
		
108
		
110
		// bas
109
		// bas
111
		if(event.which == 40){
110
		if(event.which == 40){
112
			if(indice_utilisateur_en_cours < liste_utilisateurs_en_cours.length - 1) { 
111
			if(indice_utilisateur_en_cours < liste_utilisateurs_en_cours.length - 1) { 
113
				mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours + 1);
112
				mettreEnSurbrillanceUtilisateur(indice_utilisateur_en_cours + 1);
114
			}
113
			}
115
		}
114
		}
116
	});
115
	});
117
	
116
	
118
	$('.conteneur_suggestions_utilisateur').blur(function() {
117
	$('.conteneur_suggestions_utilisateur').blur(function() {
119
		$('.conteneur_suggestions_utilisateur').hide();
118
		$('.conteneur_suggestions_utilisateur').hide();
120
	});
119
	});
121
}
120
}
122
 
121
 
123
function reprogrammerTimerPourCacherListeAutoCompletion() {
122
function reprogrammerTimerPourCacherListeAutoCompletion() {
124
	
123
	
125
	if(timerAffichageAutocompletion != null) {
124
	if(timerAffichageAutocompletion != null) {
126
		window.clearTimeout(timerAffichageAutocompletion);
125
		window.clearTimeout(timerAffichageAutocompletion);
127
	}
126
	}
128
	
127
	
129
	timerAffichageAutocompletion = window.setTimeout(function() {
128
	timerAffichageAutocompletion = window.setTimeout(function() {
130
		$('.conteneur_suggestions_utilisateur').hide();
129
		$('.conteneur_suggestions_utilisateur').hide();
131
	}, 2000);
130
	}, 2000);
132
}
131
}
133
 
132
 
134
function reprogrammerTimerPourLancerRequeteUtilisateur() {
133
function reprogrammerTimerPourLancerRequeteUtilisateur() {
135
	
134
	
136
	if(timerRequeteAutocompletion != null) {
135
	if(timerRequeteAutocompletion != null) {
137
		window.clearTimeout(timerRequeteAutocompletion);
136
		window.clearTimeout(timerRequeteAutocompletion);
138
	}
137
	}
139
	
138
	
140
	timerRequeteAutocompletion = window.setTimeout(function() {
139
	timerRequeteAutocompletion = window.setTimeout(function() {
141
		obtenirInformationsUtilisateur($('input#identite_utilisateur').val());
140
		obtenirInformationsUtilisateur($('input#identite_utilisateur').val());
142
	}, 350);
141
	}, 350);
143
}
142
}
144
 
143
 
145
function selectionnerUtilisateur(indice) {
144
function selectionnerUtilisateur(indice) {
146
	
145
	
147
	infos_utilisateur = liste_utilisateurs_en_cours[indice];
146
	infos_utilisateur = liste_utilisateurs_en_cours[indice];
148
	
147
	
149
	$('input#identite_utilisateur').val(infos_utilisateur['nom']);
148
	$('input#identite_utilisateur').val(infos_utilisateur['nom']);
150
	$('.conteneur_suggestions_utilisateur').hide();
149
	$('.conteneur_suggestions_utilisateur').hide();
151
}
150
}
152
 
151
 
153
$('#identite_utilisateur').ready(function() {
152
$('#identite_utilisateur').ready(function() {
154
	ajouterAutoCompletionUtilisateurs();
153
	ajouterAutoCompletionUtilisateurs();
155
});
154
});