Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 389 → Rev 390

/trunk/src/org/tela_botanica/client/vues/StructureDetailPanneauVue.java
25,9 → 25,11
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
 
public class StructureDetailPanneauVue extends LayoutContainer implements Rafraichissable {
 
36,7 → 38,10
private String enteteTpl = null;
private String identificationTpl = null;
private String personnelTpl = null;
private String tableauPersonnelTpl = null;
private String lignePersonnelTpl = null;
private String conservationTpl = null;
private String valorisationTpl = null;
private Structure structure = null;
private StructureAPersonneListe personnel = null;
48,6 → 53,8
private TabPanel onglets = null;
private TabItem identificationOnglet = null;
private TabItem personnelOnglet = null;
private TabItem conservationOnglet = null;
private TabItem valorisationOnglet = null;
 
public StructureDetailPanneauVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
61,8 → 68,7
panneauPrincipal.setLayout(new FlowLayout());
panneauPrincipal.setHeaderVisible(false);
panneauPrincipal.setBodyBorder(false);
entete = new Html();
entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
panneauPrincipal.setTopComponent(entete);
70,26 → 76,34
onglets = new TabPanel();
onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
onglets.setHeight("100%");
onglets.setBorders(false);
onglets.setBodyBorder(false);
 
identificationOnglet = new TabItem("Général");
identificationOnglet.setBorders(false);
identificationOnglet.setLayout(new AnchorLayout());
identificationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(identificationOnglet);
personnelOnglet = new TabItem("Personnel");
personnelOnglet.setBorders(false);
personnelOnglet.setLayout(new AnchorLayout());
personnelOnglet.setScrollMode(Scroll.AUTO);
onglets.add(personnelOnglet);
conservationOnglet = new TabItem("Conservation");
conservationOnglet.setLayout(new AnchorLayout());
conservationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(conservationOnglet);
valorisationOnglet = new TabItem("Valorisation");
valorisationOnglet.setLayout(new AnchorLayout());
valorisationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(valorisationOnglet);
panneauPrincipal.add(onglets);
add(panneauPrincipal);
}
 
private void afficherDetailInstitution(Structure structureCourante) {
if (structureCourante != null) {
structure = structureCourante;
private void afficherDetailInstitution() {
if (structure != null) {
personnel = structure.getPersonnel();
valorisation = structure.getValorisation();
conservation = structure.getConservation();
96,6 → 110,15
afficherEntete();
afficherIdentification();
if (personnel != null) {
afficherPersonnel();
}
if (conservation != null) {
//afficherConservation();
}
if (valorisation != null) {
//afficherValorisation();
}
}
layout();
}
102,9 → 125,14
private void afficherEntete() {
Params enteteParams = new Params();
enteteParams.set("id", ComposantId.ZONE_DETAIL_ENTETE);
enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
enteteParams.set("css_meta", ComposantClass.META);
enteteParams.set("nom", structure.getNom());
enteteParams.set("ville", structure.getVille());
enteteParams.set("id", structure.getId());
enteteParams.set("guid", structure.getGuid());
enteteParams.set("projet", structure.getIdProjet());
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
112,17 → 140,52
private void afficherIdentification() {
Params contenuParams = new Params();
contenuParams.set("css_class", ComposantClass.DETAIL_CORPS_CONTENU);
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);
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());
contenuParams.set("i18n_titre_description", mediateur.i18nC.description());
contenuParams.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());
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());
contenuParams.set("acronyme", structure.getIdAlternatif());
contenuParams.set("statut", structure.getTypePrive()+structure.getTypePublic());
contenuParams.set("date_fondation", structure.getDateFondationFormate("dd/MM/yyyy"));
contenuParams.set("nbre_personnel", structure.getNbrePersonne());
contenuParams.set("description", structure.getDescription());
contenuParams.set("adresse", structure.getAdresse());
contenuParams.set("code_postal", structure.getCodePostal());
contenuParams.set("cp", structure.getCodePostal());
contenuParams.set("ville", structure.getVille());
contenuParams.set("region", structure.getRegion());
contenuParams.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());
String cHtml = Format.substitute(identificationTpl, contenuParams);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
131,21 → 194,39
}
private void afficherPersonnel() {
String tableauPersonnelHtml = "";
if (personnel.size() > 0) {
tableauPersonnelHtml = construireTableauDuPersonnel();
}
Params contenuParams = new Params();
contenuParams.set("css_class", ComposantClass.DETAIL_CORPS_CONTENU);
contenuParams.set("fonction", mediateur.i18nC.fonction());
contenuParams.set("prenom", mediateur.i18nC.prenom());
contenuParams.set("nom", mediateur.i18nC.nom());
contenuParams.set("tel", mediateur.i18nC.telephoneFixe());
contenuParams.set("fax", mediateur.i18nC.fax());
contenuParams.set("courriel", mediateur.i18nC.courrielPrincipal());
contenuParams.set("statut", mediateur.i18nC.statut());
contenuParams.set("tps_w", mediateur.i18nC.tpsTravail());
contenuParams.set("specialite", mediateur.i18nC.specialite());
contenuParams.set("contact", mediateur.i18nC.boolContact());
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);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
personnelOnglet.removeAll();
personnelOnglet.add(corpsConteneurDuHtml);
}
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());
String lignesPersonnel = "";
personnel = structure.getPersonnel();
Iterator<String> it = personnel.keySet().iterator();
while (it.hasNext()) {
StructureAPersonne personne = personnel.get(it.next());
164,65 → 245,95
}
contenuParams.set("lignes", lignesPersonnel);
String cHtml = Format.substitute(personnelTpl, contenuParams);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
personnelOnglet.removeAll();
personnelOnglet.add(corpsConteneurDuHtml);
String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams);
return cHtml;
}
private void initialiserTousLesTpl() {
initialiserEnteteHtmlTpl();
initialiserIdentificationTpl();
initialiserPersonnelTpl();
initialiserTableauPersonnelTpl();
initialiserLignePersonnelTpl();
initialiserConservationTpl();
initialiserValorisationTpl();
}
private void initialiserEnteteHtmlTpl() {
enteteTpl = "<div id='{id}'>"+
enteteTpl = "<div id='{css_id}'>"+
" <h1>{nom}</h1>"+
" <h2>{ville}</h2>" +
" <h2>{ville}<span class='{css_meta}'>{projet} - {id} - {guid}</span></h2>" +
" " +
"</div>";
}
private void initialiserIdentificationTpl() {
identificationTpl =
"<div class='{css_class}'>"+
" <h2>Renseignements administratifs</h2>"+
" <span style='font-weight:bold;'>Condition d'accès :</span> {acces}<br />"+
" <span style='font-weight:bold;'>Adresse :</span> {adresse}, {code_postal} {ville}, {region}, {pays}<br />"+
" <span style='font-weight:bold;'>Téléphone :</span> {tel}<br />"+
" <span style='font-weight:bold;'>Fax :</span> {fax}<br />"+
" <span style='font-weight:bold;'>Courriel :</span> {courriel}<br />"+
" {description}"+
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_administratif}</h2>"+
" <span class='{css_label}'>{i18n_acronyme} :</span> {acronyme}<br />"+
" <span class='{css_label}'>{i18n_acces} :</span> {acces}<br />"+
" <span class='{css_label}'>{i18n_statut} :</span> {statut}<br />"+
" <span class='{css_label}'>{i18n_date_fondation} :</span> {date_fondation}<br />"+
" <span class='{css_label}'>{i18n_nbre_personnel} :</span> {nbre_personnel}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_description}</h2>"+
" {description}"+
" </div>"+
" <hr class='{css_clear}'/>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_adresse}</h2>"+
" <span class='{css_label}'>{i18n_adresse} :</span> {adresse}<br />" +
" <span class='{css_label}'>{i18n_cp} :</span> {cp}<br />" +
" <span class='{css_label}'>{i18n_ville} :</span> {ville}<br />" +
" <span class='{css_label}'>{i18n_region} :</span> {region}<br />" +
" <span class='{css_label}'>{i18n_pays} :</span> {pays}<br />" +
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_communication}</h2>"+
" <span class='{css_label}'>{i18n_tel} :</span> {tel}<br />"+
" <span class='{css_label}'>{i18n_fax} :</span> {fax}<br />"+
" <span class='{css_label}'>{i18n_courriel} :</span> {courriel}<br />"+
" <span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
" </div>"+
"</div>";
}
private void initialiserPersonnelTpl() {
personnelTpl =
"<div class='{css_class}'>"+
" <h2>Personnel</h2>"+
" <table>"+
" <thead>"+
" <tr>" +
" <th>{fonction}</th>" +
" <th>{prenom}</th>" +
" <th>{nom}</th>" +
" <th>{tel}</th>" +
" <th>{fax}</th>" +
" <th>{courriel}</th>" +
" <th>{statut}</th>" +
" <th>{tps_w}</th>" +
" <th>{specialite}</th>" +
" <th>{contact}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
" </table>"+
"<div class='{css_corps}'>"+
" <h2>{i18n_titre_personnel}</h2>"+
" <p><span class='{css_label}'>{i18n_nbre_personnel_collection} :</span> {nbre_personnel_collection}</p>"+
" {tableau_personnel}"+
"</div>";
}
private void initialiserTableauPersonnelTpl() {
tableauPersonnelTpl =
"<h3>{i18n_titre_membre}</h3>"+
"<table>"+
" <thead>"+
" <tr>" +
" <th>{i18n_fonction}</th>" +
" <th>{i18n_prenom}</th>" +
" <th>{i18n_nom}</th>" +
" <th>{i18n_tel}</th>" +
" <th>{i18n_fax}</th>" +
" <th>{i18n_courriel}</th>" +
" <th>{i18n_statut}</th>" +
" <th>{i18n_tps_w}</th>" +
" <th>{i18n_specialite}</th>" +
" <th>{i18n_contact}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLignePersonnelTpl() {
lignePersonnelTpl =
"<tr>"+
239,15 → 350,51
"</tr>";
}
private void initialiserConservationTpl() {
conservationTpl =
"<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_interet} :</span> {formation_interet}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_local}</h2>"+
" <span class='{css_label}'>{i18n_local_specifique} :</span> {local_specifique}<br />"+
" <span class='{css_label}'>{i18n_meuble_specifique} :</span> {meuble_specifique}<br />"+
" <span class='{css_label}'>{i18n_local_parametre} :</span> {local_parametre}<br />"+
" <span class='{css_label}'>{i18n_conservation_en_commun} :</span> {conservation_en_commun}<br />"+
" <span class='{css_label}'>{i18n_acces_control} :</span> {acces_control}<br />"+
" </div>"+
" <hr class='{css_clear}'/>"+
"</div>";
}
private void initialiserValorisationTpl() {
valorisationTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_action_valorisation}</h2>"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_recherche_scientifique}</h2>"+
" </div>"+
" <hr class='{css_clear}'/>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_acces_usage}</h2>"+
" </div>"+
"</div>";
}
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Structure) {
afficherDetailInstitution((Structure) nouvelleDonnees);
structure = (Structure) nouvelleDonnees;
afficherDetailInstitution();
} if (nouvelleDonnees instanceof Information) {
Information info = (Information) nouvelleDonnees;
if (info.getType().equals("liste_structure_a_personne")) {
allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0));
afficherPersonnel();
layout();
afficherDetailInstitution();
}
} else {
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);