New file |
0,0 → 1,92 |
package org.tela_botanica.client.vues; |
|
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetsListeAsyncDao; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureListe; |
|
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; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Html; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
|
public class PersonneDetailPanneauVue extends ContentPanel implements Rafraichissable { |
|
private ContentPanel content; |
private Html header; |
private String enteteHTML = "<div class='coel-detail'><h1>{0}</h1><h2><a href=\"mailto:{1}\">{1}</a></h2></div>"; |
private String contenuHTML = "<div style='padding: 12px;'><p>{0}</p><b>Adresse: </b>{1}<br />{2}<br /></div>"; |
private String structureNom = null; |
private String structureVille = null; |
private String structureDescription = null; |
|
public PersonneDetailPanneauVue() { |
Registry.register(RegistreId.PANNEAU_PERSONNE_DETAIL, this); |
|
setHeaderVisible(false); |
setLayout(new FitLayout()); |
|
content = new ContentPanel(); |
content.setBodyBorder(false); |
content.setHeaderVisible(false); |
content.setScrollMode(Scroll.AUTO); |
|
header = new Html(); |
header.setStyleName("coel-detail"); |
content.setTopComponent(header); |
|
add(content); |
} |
|
public void ajouterParam(Params parametres, String nomChamp, Personne personne) { |
parametres.add(personne.obtenirValeurChamp(nomChamp)); |
//return parametres; |
} |
|
public void afficherDetailPersonne(Personne personne) { |
if (personne != null) { |
content.removeAll(); |
|
//Header |
Params enteteParams = new Params(); |
ajouterParam(enteteParams, "fmt_nom_complet", personne); |
ajouterParam(enteteParams, "truk_courriel", personne); |
|
header.getElement().setInnerHTML(Format.substitute(enteteHTML, enteteParams)); |
|
//Contenu |
Params contenuParams = new Params(); |
ajouterParam(contenuParams, "description", personne); |
|
ajouterParam(contenuParams, "adresse_01", personne); |
ajouterParam(contenuParams, "adresse_02", personne); |
|
|
content.addText(Format.substitute(contenuHTML, contenuParams)); |
|
layout(); |
} else { |
header.setHtml(""); |
content.removeAll(); |
} |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof Personne) { |
afficherDetailPersonne((Personne) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof StructureListe) { |
StructureListe listeInstitutions = (StructureListe) nouvelleDonnees; |
// Test pour savoir si la liste contient des éléments |
if (listeInstitutions.size() == 0) { |
afficherDetailPersonne(null); |
} |
} |
} |
|
} |