Subversion Repositories Applications.referentiel

Rev

Rev 296 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 296 Rev 300
Line 1... Line 1...
1
<!-- REF - DEBUT ARBRE RECHERCHE -->
1
<!-- REF - DEBUT ARBRE RECHERCHE -->
2
<script type="text/javascript">
2
<script type="text/javascript">
3
	var urlFicheTaxonTpl = '<?= $url_fiche_taxon_tpl; ?>';
3
	var urlFicheTaxonTpl = '<?= $url_fiche_taxon_tpl; ?>';
4
	var urlServiceTpl = '<?= $url_service_tpl; ?>';
4
	var urlServiceTpl = '<?= $url_service_tpl; ?>';
5
	var referentiel = '<?= $referentiel; ?>';
5
	var referentiel = '<?= $referentiel; ?>';
-
 
6
	
-
 
7
	function afficherChargement(element) {
-
 
8
		var htmlChargement = '<div class="arbre-chargement"> chargement </div>';
-
 
9
		element.after(htmlChargement);
-
 
10
	}
-
 
11
	
-
 
12
	function cacherChargement() {
-
 
13
		$('.arbre-chargement').remove();
-
 
14
	}
-
 
15
	
6
	function chargerSousClassification(element) {
16
	function chargerSousClassification(element) {
-
 
17
		
7
		var lienTpl = urlServiceTpl+'Recherche/Classification/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/*/*/*/infra/*';
18
		var lienTpl = '<?= html_entity_decode($url_sous_taxons_tpl); ?>';
8
		var lien = lienTpl.replace('num_nom', element.attr('rel'));
19
		var lien = lienTpl+element.attr('rel');
9
		var parent = element.parent();
20
		var parent = element.parent();
-
 
21
		afficherChargement(parent);
10
		$.get(lien, function(data) {
22
		$.get(lien, function(data) {
11
			var html = "";
23
			var html = "";
12
			if(data.length > 0) {	
24
			var infras = data['resultats_infra'];
13
				$.each(data, function() {
25
			var nb_syn = data['resultats_nb_syn'];
14
						var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', this.num_nom);
26
			var nb_infras = data['resultats_nb_infra'];
-
 
27
			
15
						var htmlTpl = 
28
			if(infras.length > 0) {	
16
							'<ul class="branche-arbre-taxo">'+
-
 
17
								'<li class="feuille-arbre-taxo">'+
29
				$.each(infras, function() {
18
								'<div rel="'+this.num_nom+'" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons"></div>'+
-
 
19
									'<a title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+this.nom_sci+'</a>'+
30
					html += creerTemplateSousClassification(this, nb_infras, nb_syn);
20
									'&nbsp;<a title="Afficher les synynomes de ce taxon" rel="'+this.num_nom+'" class="lien-voir-synonymes-taxo" href="#">(syn)</a>'+
-
 
21
								'</li>'+
-
 
22
							'</ul>';
-
 
23
						html += htmlTpl;	
-
 
24
				});
31
				});
25
			} else {
32
			} else {
-
 
33
				html = 
26
				html = '<ul class="branche-arbre-taxo">'+
34
					'<ul class="branche-arbre-taxo">'+
27
						'<li class="feuille-arbre-taxo aucun-sous-taxon">'+
35
						'<li class="feuille-arbre-taxo aucun-sous-taxon">'+
28
							'Aucun sous-taxon'+						
36
							'Aucun sous-taxon'+						
29
						'</li>'+
37
						'</li>'+
30
					'</ul>';	
38
					'</ul>';	
31
			}
39
			}
-
 
40
			cacherChargement();
32
			parent.append(html);
41
			parent.append(html);
33
		});
42
		});
34
	}
43
	}
Line -... Line 44...
-
 
44
	
-
 
45
	function creerTemplateSousClassification(infra, nb_infras, nb_syn) {	
-
 
46
		
-
 
47
		var blocDepliageSousClassificiation = '';
-
 
48
		if(nb_infras[infra.num_nom] > 0) {
-
 
49
			blocDepliageSousClassification = '<div rel="'+infra.num_nom+'" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons du rang inférieur ('+nb_infras[infra.num_nom]+')"></div>';
-
 
50
		} else {
-
 
51
			blocDepliageSousClassification = '<div class="imagette-moins" title="Aucun sous-taxon"></div>';
-
 
52
		}
-
 
53
		
-
 
54
		var blocDepliageSynonymes = '';
-
 
55
		if(nb_syn[infra.num_nom] > 1) {
-
 
56
			blocDepliageSynonymes = '&nbsp;<a rel="'+infra.num_nom+'" title="Afficher les synynomes de ce taxon ('+(nb_syn[infra.num_nom] - 1)+')" class="lien-voir-synonymes-taxo" href="#">(syn)</a>';
-
 
57
		}
-
 
58
		
-
 
59
		var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', infra.num_nom);
-
 
60
		htmlTpl =  
-
 
61
			'<ul class="branche-arbre-taxo">'+
-
 
62
				'<li class="feuille-arbre-taxo">'+
-
 
63
					blocDepliageSousClassification+
-
 
64
					'<a title="Voir la fiche de ce taxon (s\'ouvre dans un nouvel onglet)" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+
-
 
65
					infra.nom_sci+
-
 
66
					'</a>'+
-
 
67
					blocDepliageSynonymes+
-
 
68
				'</li>'+
-
 
69
			'</ul>';
-
 
70
				   
-
 
71
		return htmlTpl;
-
 
72
	}
35
	
73
	
36
	function afficherSousClassification(element) {
74
	function afficherSousClassification(element) {
37
		element.removeClass('branche-arbre-fermee');
75
		element.removeClass('branche-arbre-fermee');
38
		element.addClass('branche-arbre-ouverte');
76
		element.addClass('branche-arbre-ouverte');
39
		element.removeClass('imagette-plus');
77
		element.removeClass('imagette-plus');
Line 46... Line 84...
46
		element.addClass('branche-arbre-fermee');
84
		element.addClass('branche-arbre-fermee');
47
		element.removeClass('branche-arbre-ouverte');
85
		element.removeClass('branche-arbre-ouverte');
48
		element.addClass('imagette-plus');
86
		element.addClass('imagette-plus');
49
		element.removeClass('imagette-moins');
87
		element.removeClass('imagette-moins');
50
		element.siblings('.branche-arbre-taxo').hide();
88
		element.siblings('.branche-arbre-taxo').hide();
51
		
-
 
52
	}
89
	}
Line 53... Line 90...
53
	
90
	
54
	function chargerSynonymes(element) {
-
 
55
		
91
	function chargerSynonymes(element) {
56
		var lienTpl = urlServiceTpl+'Recherche/ParTaxon/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/1/*/*/*/*';
92
		var lienTpl = '<?= html_entity_decode($url_synonymes_tpl); ?>';
57
		var lien = lienTpl.replace('num_nom', element.attr('rel'));
93
		var lien = lienTpl+element.attr('rel');
-
 
94
		var parent = element.parent(".feuille-arbre-taxo");
58
		var parent = element.parent(".feuille-arbre-taxo");
95
		afficherChargement(parent);
59
		$.get(lien, function(data) {
96
		$.get(lien, function(data) {
-
 
97
			// Un seul élément reçu = pas de synonymes car on a reçu le nom retenu
60
			// Un seul élément reçu = pas de synonymes car on a reçu le nom retenu
98
			var syn = data['resultats_syn'];
61
			if(data.length > 1) {	
99
			if(syn.length > 1) {	
62
				var html = "";
100
				var html = "";
63
				$.each(data, function() {
-
 
64
					if(this.num_nom != this.num_nom_retenu) {
-
 
65
						var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', this.num_nom);
-
 
66
						var htmlTpl = 
101
				$.each(syn, function() {
67
							'<ul class="arbre-liste-synonymes">'+
-
 
68
								'<li class="feuille-arbre-synonyme-taxo">'+
-
 
69
									'<a title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+this.nom_sci+'</a>'+
-
 
70
								'</li>'+
-
 
71
							'</ul>';
-
 
72
						html += htmlTpl;	
-
 
73
					}
102
					html += creerTemplateSynonymes(this);
74
				});
103
				});
-
 
104
			} else {
75
			} else {
105
				var html = 
76
				var html = '<ul class="arbre-liste-synonymes">'+
106
					'<ul class="arbre-liste-synonymes">'+
77
								'<li class="feuille-arbre-synonyme-taxo aucun-synonyme">'+
107
						'<li class="feuille-arbre-synonyme-taxo aucun-synonyme">'+
78
								'Aucun synonyme'+
108
							'Aucun synonyme'+
79
							'</li>'+
109
						'</li>'+
80
						'</ul>';
110
					'</ul>';
-
 
111
			}
81
			}
112
			cacherChargement();
82
			element.after(html);
113
			element.after(html);
83
		});
114
		});
Line -... Line 115...
-
 
115
	}
-
 
116
	
-
 
117
	function creerTemplateSynonymes(synonyme) {
-
 
118
		htmlTpl = '';
-
 
119
		if(synonyme.num_nom != synonyme.num_nom_retenu) {
-
 
120
			var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', synonyme.num_nom);
-
 
121
			var htmlTpl = 
-
 
122
				'<ul class="arbre-liste-synonymes">'+
-
 
123
					'<li class="feuille-arbre-synonyme-taxo">'+
-
 
124
						'<a title="Voir la fiche de ce taxon (s\'ouvre dans un nouvel onglet)" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+synonyme.nom_sci+'</a>'+
-
 
125
					'</li>'+
-
 
126
				'</ul>';
-
 
127
		}
-
 
128
		return htmlTpl;
84
	}
129
	}
85
	
130
	
86
	// Function pour cacher / afficher les options de recherche
131
	// Function pour cacher / afficher les options de recherche
87
	$(document).ready(function() {
132
	$(document).ready(function() {
88
		$(".icone-deplier-arbre").live('click', function(event) {
133
		$(".icone-deplier-arbre").live('click', function(event) {
Line 104... Line 149...
104
				$(this).addClass('chargee');
149
				$(this).addClass('chargee');
105
			} else {
150
			} else {
106
				$(this).siblings('.arbre-liste-synonymes').toggle();
151
				$(this).siblings('.arbre-liste-synonymes').toggle();
107
			}
152
			}
108
		});
153
		});
-
 
154
		
-
 
155
		$(".lien-ouvrir-fiche-taxo").live('click', function(event) {
-
 
156
			event.preventDefault();
-
 
157
			window.open($(this).attr("href"),'_blank');
-
 
158
		});
109
	});
159
	});
110
</script>
160
</script>
111
<noscript>
161
<noscript>
112
	 <hr class="nettoyage" />
162
	 <hr class="nettoyage" />
113
     <div class="attention">Attention, la consultation de l'arborescence du référentiel  
163
     <div class="attention">Attention, la consultation de l'arborescence du référentiel  
114
     nécessite l'activation de Javascript</div>
164
     nécessite l'activation de Javascript</div>
115
</noscript>
165
</noscript>
116
<hr class="nettoyage" />
166
<hr class="nettoyage" />
-
 
167
<h2 class="arbre-nombre-familles"><?= count($resultats); ?> familles</h2>
117
<div id="ref-arbre-taxo">
168
<div id="ref-arbre-taxo">
118
	<ul class="branche-arbre-taxo">
169
	<ul class="branche-arbre-taxo">
119
		<? foreach ($resultats as $resultat) : ?> 
170
		<? foreach ($resultats as $resultat) : ?> 
120
			<? if($resultat['num_nom'] == $resultat['num_nom_retenu']) : ?>
171
			<? if($resultat['num_nom'] == $resultat['num_nom_retenu']) : ?>
121
			<li class="feuille-arbre-taxo">
172
			<li class="feuille-arbre-taxo">
122
				<?php $url_fiche_taxon = str_replace('%s', $resultat['num_nom'], $url_fiche_taxon_tpl); ?>
173
				<?php $url_fiche_taxon = str_replace('%s', $resultat['num_nom'], $url_fiche_taxon_tpl) ?>
-
 
174
				<?php if(isset($resultats_nb_infra[$resultat['num_nom']]) && $resultats_nb_infra[$resultat['num_nom']] > 0) { ?>
123
				<div rel="<?=$resultat['num_nom']?>" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons"></div>
175
					<div rel="<?=$resultat['num_nom']?>" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons du rang inférieur (<?= $resultats_nb_infra[$resultat['num_nom']]; ?>)"></div>
-
 
176
				<?php } else { ?>
-
 
177
					<div class="imagette-moins" title="Aucun sous-taxon"></div>
-
 
178
				<?php } ?>
124
				<a title="Voir la fiche de ce taxon" title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="<?= $url_fiche_taxon; ?>">
179
				<a title="Voir la fiche de ce taxon (s'ouvre dans un nouvel onglet)" class="lien-ouvrir-fiche-taxo" href="<?= $url_fiche_taxon; ?>">
125
					<?= $resultat['nom_sci'] ?>
180
					<?= $resultat['nom_sci'] ?>
126
				</a>
181
				</a>
-
 
182
				<?php if(isset($resultats_nb_syn[$resultat['num_nom']]) && $resultats_nb_syn[$resultat['num_nom']] > 1) : ?>
127
				&nbsp;<a rel="<?=$resultat['num_nom']?>" title="Afficher les synynomes de ce taxon" class="lien-voir-synonymes-taxo" href="#">(syn)</a>
183
					&nbsp;<a rel="<?=$resultat['num_nom']?>" title="Afficher les synynomes de ce taxon (<?= $resultats_nb_syn[$resultat['num_nom']] - 1; ?>)" class="lien-voir-synonymes-taxo" href="#">(syn)</a>
-
 
184
				<?php endif; ?>
128
			</li>
185
			</li>
129
			<? endif; ?>
186
			<? endif; ?>
130
		<? endforeach; ?>
187
		<? endforeach; ?>
131
	</ul>
188
	</ul>
132
</div>
189
</div>
133
190