1,12 → 1,17 |
package org.tela_botanica.client.vues; |
|
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map.Entry; |
|
import org.tela_botanica.client.ComposantClass; |
import org.tela_botanica.client.ComposantId; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureAPersonne; |
13,8 → 18,11 |
import org.tela_botanica.client.modeles.StructureAPersonneListe; |
import org.tela_botanica.client.modeles.StructureConservation; |
import org.tela_botanica.client.modeles.StructureValorisation; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
|
import com.extjs.gxt.ui.client.Events; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.util.Format; |
import com.extjs.gxt.ui.client.util.Params; |
34,6 → 42,7 |
public class StructureDetailPanneauVue extends LayoutContainer implements Rafraichissable { |
|
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
|
private String enteteTpl = null; |
private String identificationTpl = null; |
42,6 → 51,7 |
private String lignePersonnelTpl = null; |
private String conservationTpl = null; |
private String valorisationTpl = null; |
private String sautLigneTpl = null; |
|
private Structure structure = null; |
private StructureAPersonneListe personnel = null; |
55,9 → 65,14 |
private TabItem personnelOnglet = null; |
private TabItem conservationOnglet = null; |
private TabItem valorisationOnglet = null; |
|
|
private Params identificationParams = null; |
private Params personnelParams = null; |
private Params conservationParams = null; |
|
public StructureDetailPanneauVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
i18nC = mediateur.i18nC; |
initialiserTousLesTpl(); |
|
setLayout(new FitLayout()); |
64,6 → 79,12 |
setBorders(false); |
setScrollMode(Scroll.AUTO); |
|
conservationParams = new Params(); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "localStockage"); |
mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage"); |
mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage"); |
|
panneauPrincipal = new ContentPanel(); |
panneauPrincipal.setLayout(new FlowLayout()); |
panneauPrincipal.setHeaderVisible(false); |
114,7 → 135,7 |
afficherPersonnel(); |
} |
if (conservation != null) { |
//afficherConservation(); |
afficherConservation(); |
} |
if (valorisation != null) { |
//afficherValorisation(); |
139,58 → 160,55 |
} |
|
private void afficherIdentification() { |
Params contenuParams = new Params(); |
contenuParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU); |
contenuParams.set("css_label", ComposantClass.LABEL); |
contenuParams.set("css_fieldset", ComposantClass.FIELDSET); |
contenuParams.set("css_clear", ComposantClass.CLEAR); |
identificationParams = new Params(); |
identificationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU); |
identificationParams.set("css_label", ComposantClass.LABEL); |
identificationParams.set("css_fieldset", ComposantClass.FIELDSET); |
identificationParams.set("css_clear", ComposantClass.CLEAR); |
|
contenuParams.set("i18n_titre_administratif", mediateur.i18nC.titreAdministratif()); |
contenuParams.set("i18n_acronyme", mediateur.i18nC.acronyme()); |
contenuParams.set("i18n_statut", mediateur.i18nC.statut()); |
contenuParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation()); |
contenuParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel()); |
identificationParams.set("i18n_titre_administratif", i18nC.titreAdministratif()); |
identificationParams.set("i18n_acronyme", i18nC.acronyme()); |
identificationParams.set("i18n_statut", i18nC.statut()); |
identificationParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation()); |
identificationParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel()); |
|
contenuParams.set("i18n_titre_description", mediateur.i18nC.description()); |
contenuParams.set("i18n_description", mediateur.i18nC.description()); |
identificationParams.set("i18n_titre_description", mediateur.i18nC.description()); |
identificationParams.set("i18n_description", mediateur.i18nC.description()); |
|
contenuParams.set("i18n_titre_adresse", mediateur.i18nC.adresse()); |
contenuParams.set("i18n_adresse", mediateur.i18nC.adresse()); |
contenuParams.set("i18n_cp", mediateur.i18nC.codePostal()); |
contenuParams.set("i18n_ville", mediateur.i18nC.ville()); |
contenuParams.set("i18n_region", mediateur.i18nC.region()); |
contenuParams.set("i18n_pays", mediateur.i18nC.pays()); |
identificationParams.set("i18n_titre_adresse", mediateur.i18nC.adresse()); |
identificationParams.set("i18n_adresse", mediateur.i18nC.adresse()); |
identificationParams.set("i18n_cp", mediateur.i18nC.codePostal()); |
identificationParams.set("i18n_ville", mediateur.i18nC.ville()); |
identificationParams.set("i18n_region", mediateur.i18nC.region()); |
identificationParams.set("i18n_pays", mediateur.i18nC.pays()); |
|
contenuParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication()); |
contenuParams.set("i18n_tel", mediateur.i18nC.telephone()); |
contenuParams.set("i18n_fax", mediateur.i18nC.fax()); |
contenuParams.set("i18n_courriel", mediateur.i18nC.courriel()); |
contenuParams.set("i18n_acces", mediateur.i18nC.acces()); |
contenuParams.set("i18n_web", mediateur.i18nC.siteWeb()); |
identificationParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication()); |
identificationParams.set("i18n_tel", mediateur.i18nC.telephone()); |
identificationParams.set("i18n_fax", mediateur.i18nC.fax()); |
identificationParams.set("i18n_courriel", mediateur.i18nC.courriel()); |
identificationParams.set("i18n_acces", mediateur.i18nC.acces()); |
identificationParams.set("i18n_web", mediateur.i18nC.siteWeb()); |
|
contenuParams.set("acronyme", structure.getIdAlternatif()); |
contenuParams.set("statut", structure.getTypePrive()+structure.getTypePublic()); |
contenuParams.set("date_fondation", structure.getDateFondationFormatLong()); |
contenuParams.set("nbre_personnel", structure.getNbrePersonne()); |
identificationParams.set("acronyme", structure.getIdAlternatif()); |
identificationParams.set("statut", structure.getTypePrive()+structure.getTypePublic()); |
identificationParams.set("date_fondation", structure.getDateFondationFormatLong()); |
identificationParams.set("nbre_personnel", structure.getNbrePersonne()); |
|
contenuParams.set("description", structure.getDescription()); |
identificationParams.set("description", structure.getDescription()); |
|
contenuParams.set("adresse", structure.getAdresse()); |
contenuParams.set("cp", structure.getCodePostal()); |
contenuParams.set("ville", structure.getVille()); |
contenuParams.set("region", structure.getRegion()); |
contenuParams.set("pays", structure.getPays()); |
identificationParams.set("adresse", structure.getAdresse()); |
identificationParams.set("cp", structure.getCodePostal()); |
identificationParams.set("ville", structure.getVille()); |
identificationParams.set("region", structure.getRegion()); |
identificationParams.set("pays", structure.getPays()); |
|
contenuParams.set("tel", structure.getTelephone()); |
contenuParams.set("fax", structure.getFax()); |
contenuParams.set("courriel", structure.getCourriel()); |
contenuParams.set("acces", structure.getConditionAcces()); |
contenuParams.set("web", structure.getUrl()); |
identificationParams.set("tel", structure.getTelephone()); |
identificationParams.set("fax", structure.getFax()); |
identificationParams.set("courriel", structure.getCourriel()); |
identificationParams.set("acces", structure.getConditionAcces()); |
identificationParams.set("web", structure.getUrl()); |
|
String cHtml = Format.substitute(identificationTpl, contenuParams); |
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml); |
identificationOnglet.removeAll(); |
identificationOnglet.add(corpsConteneurDuHtml); |
afficherOnglet(identificationTpl, identificationParams, identificationOnglet); |
} |
|
private void afficherPersonnel() { |
199,32 → 217,29 |
tableauPersonnelHtml = construireTableauDuPersonnel(); |
} |
|
Params contenuParams = new Params(); |
contenuParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU); |
contenuParams.set("i18n_titre_personnel", mediateur.i18nC.titrePersonnel()); |
contenuParams.set("i18n_nbre_personnel_collection", mediateur.i18nC.nbrePersonnelCollection()); |
contenuParams.set("nbre_personnel_collection", personnel.size()); |
contenuParams.set("tableau_personnel", tableauPersonnelHtml); |
String cHtml = Format.substitute(personnelTpl, contenuParams); |
personnelParams = new Params(); |
personnelParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU); |
personnelParams.set("i18n_titre_personnel", i18nC.titrePersonnel()); |
personnelParams.set("i18n_nbre_personnel_collection", i18nC.nbrePersonnelCollection()); |
personnelParams.set("nbre_personnel_collection", personnel.size()); |
personnelParams.set("tableau_personnel", tableauPersonnelHtml); |
|
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml); |
personnelOnglet.removeAll(); |
personnelOnglet.add(corpsConteneurDuHtml); |
afficherOnglet(personnelTpl, personnelParams, personnelOnglet); |
} |
|
private String construireTableauDuPersonnel() { |
Params contenuParams = new Params(); |
contenuParams.set("i18n_titre_membre", mediateur.i18nC.titreMembre()); |
contenuParams.set("i18n_fonction", mediateur.i18nC.fonction()); |
contenuParams.set("i18n_prenom", mediateur.i18nC.prenom()); |
contenuParams.set("i18n_nom", mediateur.i18nC.nom()); |
contenuParams.set("i18n_tel", mediateur.i18nC.telephoneFixe()); |
contenuParams.set("i18n_fax", mediateur.i18nC.fax()); |
contenuParams.set("i18n_courriel", mediateur.i18nC.courrielPrincipal()); |
contenuParams.set("i18n_statut", mediateur.i18nC.statut()); |
contenuParams.set("i18n_tps_w", mediateur.i18nC.tpsTravail()); |
contenuParams.set("i18n_specialite", mediateur.i18nC.specialite()); |
contenuParams.set("i18n_contact", mediateur.i18nC.boolContact()); |
contenuParams.set("i18n_titre_membre", i18nC.titreMembre()); |
contenuParams.set("i18n_fonction", i18nC.fonction()); |
contenuParams.set("i18n_prenom", i18nC.prenom()); |
contenuParams.set("i18n_nom", i18nC.nom()); |
contenuParams.set("i18n_tel", i18nC.telephoneFixe()); |
contenuParams.set("i18n_fax", i18nC.fax()); |
contenuParams.set("i18n_courriel", i18nC.courrielPrincipal()); |
contenuParams.set("i18n_statut", i18nC.statut()); |
contenuParams.set("i18n_tps_w", i18nC.tpsTravail()); |
contenuParams.set("i18n_specialite", i18nC.specialite()); |
contenuParams.set("i18n_contact", i18nC.boolContact()); |
|
String lignesPersonnel = ""; |
Iterator<String> it = personnel.keySet().iterator(); |
248,7 → 263,55 |
String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams); |
return cHtml; |
} |
|
private void afficherConservation() { |
conservationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU); |
conservationParams.set("css_label", ComposantClass.LABEL); |
conservationParams.set("css_fieldset", ComposantClass.FIELDSET); |
conservationParams.set("css_clear", ComposantClass.CLEAR); |
|
conservationParams.set("i18n_titre_conservation_personnel", i18nC.titreConservationPersonnel()); |
conservationParams.set("i18n_formation", i18nC.formation()); |
conservationParams.set("i18n_formation_interet", i18nC.formationInteret()); |
|
conservationParams.set("i18n_titre_local", i18nC.titreLocal()); |
conservationParams.set("i18n_local_specifique", i18nC.localSpecifique()); |
conservationParams.set("i18n_meuble_specifique", i18nC.meubleSpecifique()); |
conservationParams.set("i18n_local_parametre", i18nC.localParametre()); |
|
conservationParams.set("formation", formaterOuiNon(conservation.getFormation())); |
conservationParams.set("formation_info", formaterSautDeLigne(conservation.getFormationInfo())); |
conservationParams.set("formation_interet", formaterOuiNon(conservation.getFormationInteret())); |
conservationParams.set("meuble_specifique", conservation.getStockageMeuble()); |
|
conservationParams.set("meuble_specifique", conservation.getStockageMeuble()); |
conservationParams.set("local_parametre", conservation.getStockageParametre()); |
|
afficherOnglet(conservationTpl, conservationParams, conservationOnglet); |
} |
|
private void afficherOnglet(String template, Params parametres, TabItem onglet) { |
String cHtml = Format.substitute(template, parametres); |
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml); |
onglet.removeAll(); |
onglet.add(corpsConteneurDuHtml); |
} |
|
private String formaterOuiNon(String chaineAFormater) { |
String txtARetourner = ""; |
if (chaineAFormater.equals("0")) { |
txtARetourner = i18nC.non(); |
} else if (chaineAFormater.equals("1")) { |
txtARetourner = i18nC.oui(); |
} |
return txtARetourner; |
} |
|
private String formaterSautDeLigne(String chaineAFormater) { |
String txtARetourner = chaineAFormater.replaceAll("\n", sautLigneTpl); |
return txtARetourner; |
} |
|
private void initialiserTousLesTpl() { |
initialiserEnteteHtmlTpl(); |
initialiserIdentificationTpl(); |
257,6 → 320,7 |
initialiserLignePersonnelTpl(); |
initialiserConservationTpl(); |
initialiserValorisationTpl(); |
initialiserSautLigneTpl(); |
} |
|
private void initialiserEnteteHtmlTpl() { |
355,7 → 419,8 |
"<div class='{css_corps}'>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_conservation_personnel}</h2>"+ |
" <span class='{css_label}'>{i18n_formation} :</span> {formation_interet}<br />"+ |
" <span class='{css_label}'>{i18n_formation} :</span> {formation}<br />"+ |
" {formation_info}<br />"+ |
" <span class='{css_label}'>{i18n_formation_interet} :</span> {formation_interet}<br />"+ |
" </div>"+ |
" <div class='{css_fieldset}'>"+ |
386,22 → 451,65 |
"</div>"; |
} |
|
private void initialiserSautLigneTpl() { |
sautLigneTpl = "<br />\n"; |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof Structure) { |
structure = (Structure) nouvelleDonnees; |
afficherDetailInstitution(); |
} if (nouvelleDonnees instanceof Information) { |
} else if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
if (info.getType().equals("liste_structure_a_personne")) { |
allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0)); |
afficherDetailInstitution(); |
} |
} else if (nouvelleDonnees instanceof ValeurListe) { |
ValeurListe ontologie = (ValeurListe) nouvelleDonnees; |
|
if (ontologie.size() > 0) { |
Configuration config = (Configuration) Registry.get(RegistreId.CONFIG); |
|
if (ontologie.getId().equals(config.getListeId("localStockage"))) { |
String chaineAAnalyser = conservation.getStockageLocal(); |
String chaineAAfficher = construireTxtListeOntologie(ontologie, chaineAAnalyser); |
conservationParams.set("local_specifique", chaineAAfficher); |
GWT.log(chaineAAfficher, null); |
} |
} |
} else { |
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null); |
} |
} |
|
private void allouerPersonnelAStructure(StructureAPersonneListe personnel) { |
|
protected String construireTxtListeOntologie(ValeurListe ontologie, String chaineAAnalyser) { |
String chaineAAfficher = ""; |
if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals(""))) { |
String[] valeurs = chaineAAnalyser.split(";;"); |
int nbreValeurs = valeurs.length; |
if (nbreValeurs > 0) { |
for (int i = 0; i < nbreValeurs; i++) { |
if (valeurs[i].contains("##")) { |
|
} else { |
Valeur valeur = ontologie.get(valeurs[i]); |
if (valeur != null) { |
String termeOntologie = valeur.getNom(); |
if (i != (nbreValeurs - 1)) { |
termeOntologie += ", "; |
} |
chaineAAfficher += termeOntologie; |
GWT.log("Valeur :"+valeurs[i]+" - Ontologie :"+valeur.getNom(), null); |
} |
} |
} |
} |
} |
return chaineAAfficher; |
} |
|
protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) { |
structure.setPersonnel(personnel); |
} |
|