3,74 → 3,36 |
var urlFicheTaxonTpl = '<?= $url_fiche_taxon_tpl; ?>'; |
var urlServiceTpl = '<?= $url_service_tpl; ?>'; |
var referentiel = '<?= $referentiel; ?>'; |
|
function afficherChargement(element) { |
var htmlChargement = '<div class="arbre-chargement"> chargement </div>'; |
element.after(htmlChargement); |
} |
|
function cacherChargement() { |
$('.arbre-chargement').remove(); |
} |
|
function chargerSousClassification(element) { |
|
var lienTpl = '<?= html_entity_decode($url_sous_taxons_tpl); ?>'; |
var lien = lienTpl+element.attr('rel'); |
var lienTpl = urlServiceTpl+'Recherche/Classification/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/*/*/*/infra/*'; |
var lien = lienTpl.replace('num_nom', element.attr('rel')); |
var parent = element.parent(); |
afficherChargement(parent); |
$.get(lien, function(data) { |
var html = ""; |
var infras = data['resultats_infra']; |
var nb_syn = data['resultats_nb_syn']; |
var nb_infras = data['resultats_nb_infra']; |
|
if(infras.length > 0) { |
$.each(infras, function() { |
html += creerTemplateSousClassification(this, nb_infras, nb_syn); |
if(data.length > 0) { |
$.each(data, function() { |
var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', this.num_nom); |
var htmlTpl = |
'<ul class="branche-arbre-taxo">'+ |
'<li class="feuille-arbre-taxo">'+ |
'<div rel="'+this.num_nom+'" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons"></div>'+ |
'<a title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+this.nom_sci+'</a>'+ |
' <a title="Afficher les synynomes de ce taxon" rel="'+this.num_nom+'" class="lien-voir-synonymes-taxo" href="#">(syn)</a>'+ |
'</li>'+ |
'</ul>'; |
html += htmlTpl; |
}); |
} else { |
html = |
'<ul class="branche-arbre-taxo">'+ |
html = '<ul class="branche-arbre-taxo">'+ |
'<li class="feuille-arbre-taxo aucun-sous-taxon">'+ |
'Aucun sous-taxon'+ |
'</li>'+ |
'</ul>'; |
} |
cacherChargement(); |
parent.append(html); |
}); |
} |
|
function creerTemplateSousClassification(infra, nb_infras, nb_syn) { |
|
var blocDepliageSousClassificiation = ''; |
if(nb_infras[infra.num_nom] > 0) { |
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>'; |
} else { |
blocDepliageSousClassification = '<div class="imagette-moins" title="Aucun sous-taxon"></div>'; |
} |
|
var blocDepliageSynonymes = ''; |
if(nb_syn[infra.num_nom] > 1) { |
blocDepliageSynonymes = ' <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>'; |
} |
|
var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', infra.num_nom); |
htmlTpl = |
'<ul class="branche-arbre-taxo">'+ |
'<li class="feuille-arbre-taxo">'+ |
blocDepliageSousClassification+ |
'<a title="Voir la fiche de ce taxon (s\'ouvre dans un nouvel onglet)" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+ |
infra.nom_sci+ |
'</a>'+ |
blocDepliageSynonymes+ |
'</li>'+ |
'</ul>'; |
|
return htmlTpl; |
} |
|
function afficherSousClassification(element) { |
element.removeClass('branche-arbre-fermee'); |
element.addClass('branche-arbre-ouverte'); |
86,48 → 48,41 |
element.addClass('imagette-plus'); |
element.removeClass('imagette-moins'); |
element.siblings('.branche-arbre-taxo').hide(); |
|
} |
|
function chargerSynonymes(element) { |
var lienTpl = '<?= html_entity_decode($url_synonymes_tpl); ?>'; |
var lien = lienTpl+element.attr('rel'); |
|
var lienTpl = urlServiceTpl+'Recherche/ParTaxon/'+referentiel+'/*/*/*/*/*/*/*/num_nom/*/*/1/*/*/*/*'; |
var lien = lienTpl.replace('num_nom', element.attr('rel')); |
var parent = element.parent(".feuille-arbre-taxo"); |
afficherChargement(parent); |
$.get(lien, function(data) { |
// Un seul élément reçu = pas de synonymes car on a reçu le nom retenu |
var syn = data['resultats_syn']; |
if(syn.length > 1) { |
if(data.length > 1) { |
var html = ""; |
$.each(syn, function() { |
html += creerTemplateSynonymes(this); |
$.each(data, function() { |
if(this.num_nom != this.num_nom_retenu) { |
var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', this.num_nom); |
var htmlTpl = |
'<ul class="arbre-liste-synonymes">'+ |
'<li class="feuille-arbre-synonyme-taxo">'+ |
'<a title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="'+urlFicheTaxon+'">'+this.nom_sci+'</a>'+ |
'</li>'+ |
'</ul>'; |
html += htmlTpl; |
} |
}); |
} else { |
var html = |
'<ul class="arbre-liste-synonymes">'+ |
'<li class="feuille-arbre-synonyme-taxo aucun-synonyme">'+ |
'Aucun synonyme'+ |
'</li>'+ |
'</ul>'; |
var html = '<ul class="arbre-liste-synonymes">'+ |
'<li class="feuille-arbre-synonyme-taxo aucun-synonyme">'+ |
'Aucun synonyme'+ |
'</li>'+ |
'</ul>'; |
} |
cacherChargement(); |
element.after(html); |
}); |
} |
|
function creerTemplateSynonymes(synonyme) { |
htmlTpl = ''; |
if(synonyme.num_nom != synonyme.num_nom_retenu) { |
var urlFicheTaxon = urlFicheTaxonTpl.replace('%s', synonyme.num_nom); |
var htmlTpl = |
'<ul class="arbre-liste-synonymes">'+ |
'<li class="feuille-arbre-synonyme-taxo">'+ |
'<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>'+ |
'</li>'+ |
'</ul>'; |
} |
return htmlTpl; |
} |
|
// Function pour cacher / afficher les options de recherche |
$(document).ready(function() { |
$(".icone-deplier-arbre").live('click', function(event) { |
151,11 → 106,6 |
$(this).siblings('.arbre-liste-synonymes').toggle(); |
} |
}); |
|
$(".lien-ouvrir-fiche-taxo").live('click', function(event) { |
event.preventDefault(); |
window.open($(this).attr("href"),'_blank'); |
}); |
}); |
</script> |
<noscript> |
164,24 → 114,17 |
nécessite l'activation de Javascript</div> |
</noscript> |
<hr class="nettoyage" /> |
<h2 class="arbre-nombre-familles"><?= count($resultats); ?> familles</h2> |
<div id="ref-arbre-taxo"> |
<ul class="branche-arbre-taxo"> |
<? foreach ($resultats as $resultat) : ?> |
<? if($resultat['num_nom'] == $resultat['num_nom_retenu']) : ?> |
<li class="feuille-arbre-taxo"> |
<?php $url_fiche_taxon = str_replace('%s', $resultat['num_nom'], $url_fiche_taxon_tpl) ?> |
<?php if(isset($resultats_nb_infra[$resultat['num_nom']]) && $resultats_nb_infra[$resultat['num_nom']] > 0) { ?> |
<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> |
<?php } else { ?> |
<div class="imagette-moins" title="Aucun sous-taxon"></div> |
<?php } ?> |
<a title="Voir la fiche de ce taxon (s'ouvre dans un nouvel onglet)" class="lien-ouvrir-fiche-taxo" href="<?= $url_fiche_taxon; ?>"> |
<?php $url_fiche_taxon = str_replace('%s', $resultat['num_nom'], $url_fiche_taxon_tpl); ?> |
<div rel="<?=$resultat['num_nom']?>" class="icone-deplier-arbre imagette-plus branche-arbre-fermee" title="Voir les sous taxons"></div> |
<a title="Voir la fiche de ce taxon" title="Voir la fiche de ce taxon" class="lien-ouvrir-fiche-taxo" href="<?= $url_fiche_taxon; ?>"> |
<?= $resultat['nom_sci'] ?> |
</a> |
<?php if(isset($resultats_nb_syn[$resultat['num_nom']]) && $resultats_nb_syn[$resultat['num_nom']] > 1) : ?> |
<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> |
<?php endif; ?> |
<a rel="<?=$resultat['num_nom']?>" title="Afficher les synynomes de ce taxon" class="lien-voir-synonymes-taxo" href="#">(syn)</a> |
</li> |
<? endif; ?> |
<? endforeach; ?> |