Subversion Repositories Applications.referentiel

Rev

Rev 295 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
295 aurelien 1
<!-- REF - DEBUT ARBRE RECHERCHE -->
2
<script type="text/javascript">
3
	var urlFicheTaxonTpl = '<?= $url_fiche_taxon_tpl; ?>';
4
	var urlServiceTpl = '<?= $url_service_tpl; ?>';
5
	var referentiel = '<?= $referentiel; ?>';
6
	function chargerSousClassification(element) {
7
		var lienTpl = urlServiceTpl+'Recherche/Classification/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/*/*/*/infra/*';
8
		var lien = lienTpl.replace('num_nom', element.attr('rel'));
9
		var parent = element.parent();
10
		$.get(lien, function(data) {
11
			var html = "";
12
			if(data.length > 0) {
13
				$.each(data, function() {
14
						var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', this.num_nom);
15
						var htmlTpl =
16
							'<ul class="branche-arbre-taxo">'+
17
								'<li class="feuille-arbre-taxo">'+
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>'+
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
				});
25
			} else {
26
				html = '<ul class="branche-arbre-taxo">'+
27
						'<li class="feuille-arbre-taxo aucun-sous-taxon">'+
28
							'Aucun sous-taxon'+
29
						'</li>'+
30
					'</ul>';
31
			}
32
			parent.append(html);
33
		});
34
	}
35
 
36
	function afficherSousClassification(element) {
37
		element.removeClass('branche-arbre-fermee');
38
		element.addClass('branche-arbre-ouverte');
39
		element.removeClass('imagette-plus');
40
		element.addClass('imagette-moins');
41
		element.addClass('chargee');
42
		element.siblings('.branche-arbre-taxo').show();
43
	}
44
 
45
	function cacherSousClassification(element) {
46
		element.addClass('branche-arbre-fermee');
47
		element.removeClass('branche-arbre-ouverte');
48
		element.addClass('imagette-plus');
49
		element.removeClass('imagette-moins');
50
		element.siblings('.branche-arbre-taxo').hide();
51
 
52
	}
53
 
54
	function chargerSynonymes(element) {
55
 
56
		var lienTpl = urlServiceTpl+'Recherche/ParTaxon/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/1/*/*/*/*';
57
		var lien = lienTpl.replace('num_nom', element.attr('rel'));
58
		var parent = element.parent(".feuille-arbre-taxo");
59
		$.get(lien, function(data) {
60
			// Un seul élément reçu = pas de synonymes car on a reçu le nom retenu
61
			if(data.length > 1) {
62
				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 =
67
							'<ul class="arbre-liste-synonymes">'+
68
								'<li class="feuille-arbre-synonyme-taxo">'+
296 aurelien 69
									'<a title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+this.nom_sci+'</a>'+
295 aurelien 70
								'</li>'+
71
							'</ul>';
72
						html += htmlTpl;
73
					}
74
				});
75
			} else {
76
				var html = '<ul class="arbre-liste-synonymes">'+
77
								'<li class="feuille-arbre-synonyme-taxo aucun-synonyme">'+
78
								'Aucun synonyme'+
79
							'</li>'+
80
						'</ul>';
81
			}
82
			element.after(html);
83
		});
84
	}
85
 
86
	// Function pour cacher / afficher les options de recherche
87
	$(document).ready(function() {
88
		$(".icone-deplier-arbre").live('click', function(event) {
89
			event.preventDefault();
90
			if($(this).hasClass('branche-arbre-fermee')) {
91
				if(!$(this).hasClass('chargee')) {
92
					chargerSousClassification($(this));
93
				}
94
				afficherSousClassification($(this));
95
			} else {
96
				cacherSousClassification($(this));
97
			}
98
		});
99
 
100
		$(".lien-voir-synonymes-taxo").live('click', function(event) {
101
			event.preventDefault();
102
			if(!$(this).hasClass('chargee')) {
103
				chargerSynonymes($(this));
104
				$(this).addClass('chargee');
105
			} else {
106
				$(this).siblings('.arbre-liste-synonymes').toggle();
107
			}
108
		});
109
	});
110
</script>
111
<noscript>
112
	 <hr class="nettoyage" />
113
     <div class="attention">Attention, la consultation de l'arborescence du référentiel
114
     nécessite l'activation de Javascript</div>
115
</noscript>
116
<hr class="nettoyage" />
117
<div id="ref-arbre-taxo">
118
	<ul class="branche-arbre-taxo">
119
		<? foreach ($resultats as $resultat) : ?>
120
			<? if($resultat['num_nom'] == $resultat['num_nom_retenu']) : ?>
121
			<li class="feuille-arbre-taxo">
122
				<?php $url_fiche_taxon = str_replace('%s', $resultat['num_nom'], $url_fiche_taxon_tpl); ?>
123
				<div rel="<?=$resultat['num_nom']?>" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons"></div>
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; ?>">
125
					<?= $resultat['nom_sci'] ?>
126
				</a>
127
				&nbsp;<a rel="<?=$resultat['num_nom']?>" title="Afficher les synynomes de ce taxon" class="lien-voir-synonymes-taxo" href="#">(syn)</a>
128
			</li>
129
			<? endif; ?>
130
		<? endforeach; ?>
131
	</ul>
132
</div>