150 |
gduche |
1 |
package org.tela_botanica.client.vues;
|
|
|
2 |
|
189 |
gduche |
3 |
|
|
|
4 |
|
|
|
5 |
import java.util.List;
|
|
|
6 |
|
150 |
gduche |
7 |
import org.tela_botanica.client.RegistreId;
|
|
|
8 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
189 |
gduche |
9 |
import org.tela_botanica.client.modeles.Information;
|
150 |
gduche |
10 |
import org.tela_botanica.client.modeles.Personne;
|
183 |
gduche |
11 |
import org.tela_botanica.client.modeles.Projet;
|
|
|
12 |
import org.tela_botanica.client.modeles.ProjetsListeAsyncDao;
|
150 |
gduche |
13 |
import org.tela_botanica.client.modeles.Structure;
|
|
|
14 |
import org.tela_botanica.client.modeles.StructureListe;
|
|
|
15 |
|
|
|
16 |
import com.extjs.gxt.ui.client.Registry;
|
|
|
17 |
import com.extjs.gxt.ui.client.Style.Scroll;
|
|
|
18 |
import com.extjs.gxt.ui.client.util.Format;
|
|
|
19 |
import com.extjs.gxt.ui.client.util.Params;
|
|
|
20 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
|
21 |
import com.extjs.gxt.ui.client.widget.Html;
|
189 |
gduche |
22 |
import com.extjs.gxt.ui.client.widget.TabItem;
|
|
|
23 |
import com.extjs.gxt.ui.client.widget.TabPanel;
|
150 |
gduche |
24 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
189 |
gduche |
25 |
import com.google.gwt.user.client.ui.FlexTable;
|
|
|
26 |
import com.google.gwt.user.client.ui.Grid;
|
|
|
27 |
import com.google.gwt.user.client.ui.Hyperlink;
|
|
|
28 |
import com.google.gwt.user.client.ui.Label;
|
|
|
29 |
import com.google.gwt.user.client.ui.Widget;
|
|
|
30 |
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
|
|
31 |
import com.google.gwt.user.client.ui.HTMLTable.CellFormatter;
|
150 |
gduche |
32 |
|
189 |
gduche |
33 |
public class PersonneDetailPanneauVue extends TabPanel implements Rafraichissable {
|
150 |
gduche |
34 |
|
189 |
gduche |
35 |
|
150 |
gduche |
36 |
private Html header;
|
189 |
gduche |
37 |
|
|
|
38 |
//TABS
|
|
|
39 |
// Informations générales : nom, prénom, adresse, cp, ville, adresse email, sexe, projet
|
|
|
40 |
private TabItem infoGenerales;
|
|
|
41 |
private String contenuInfo = "<div style='padding: 12px;'><h1>{0}</h1><a href=\"{1}\">{1}</a><br /><br /><p><b>Adresse: </b>{2}<br />{3}<br />{4} {5}<br /> {7}</p><br />{6}</div>";
|
|
|
42 |
|
|
|
43 |
private TabItem infoBio;
|
|
|
44 |
private String contenuBio = "";
|
|
|
45 |
// <div style='padding: 12px;'><h1>{0} {1} {2}</h1><h2>{3}</h2><br><b>Date de naissance: </b>{4}<br /><b>Date de décès:{5}</b><p>{6}</p></div>";
|
|
|
46 |
|
|
|
47 |
|
150 |
gduche |
48 |
public PersonneDetailPanneauVue() {
|
189 |
gduche |
49 |
|
150 |
gduche |
50 |
Registry.register(RegistreId.PANNEAU_PERSONNE_DETAIL, this);
|
189 |
gduche |
51 |
setLayout(new FitLayout());
|
150 |
gduche |
52 |
|
189 |
gduche |
53 |
infoGenerales = new TabItem("Informations Générales");
|
|
|
54 |
this.add(infoGenerales);
|
|
|
55 |
|
|
|
56 |
infoBio = new TabItem("Biographie");
|
|
|
57 |
infoBio.disable();
|
|
|
58 |
this.add(infoBio);
|
150 |
gduche |
59 |
}
|
|
|
60 |
|
189 |
gduche |
61 |
private void ajouterParam(Params parametres, String nomChamp, Personne personne) {
|
|
|
62 |
Object valeur = personne.obtenirValeurChamp(nomChamp);
|
|
|
63 |
parametres.add(valeur);
|
183 |
gduche |
64 |
}
|
|
|
65 |
|
150 |
gduche |
66 |
public void afficherDetailPersonne(Personne personne) {
|
|
|
67 |
if (personne != null) {
|
189 |
gduche |
68 |
infoGenerales.removeAll();
|
|
|
69 |
infoBio.removeAll();
|
|
|
70 |
infoBio.disable();
|
150 |
gduche |
71 |
|
189 |
gduche |
72 |
//Contenu
|
|
|
73 |
Params infoGenParams = new Params();
|
|
|
74 |
ajouterParam(infoGenParams, "fmt_nom_complet", personne);
|
|
|
75 |
ajouterParam(infoGenParams, "truk_courriel", personne);
|
|
|
76 |
ajouterParam(infoGenParams, "adresse_01", personne);
|
|
|
77 |
ajouterParam(infoGenParams, "adresse_02", personne);
|
|
|
78 |
ajouterParam(infoGenParams, "code_postal", personne);
|
|
|
79 |
ajouterParam(infoGenParams, "ville", personne);
|
|
|
80 |
ajouterParam(infoGenParams, "description", personne);
|
|
|
81 |
ajouterParam(infoGenParams, "cp_truk_fax", personne);
|
183 |
gduche |
82 |
|
189 |
gduche |
83 |
//Info générales
|
|
|
84 |
infoGenerales.addText(Format.substitute(contenuInfo, infoGenParams));
|
183 |
gduche |
85 |
|
189 |
gduche |
86 |
Params bioParams = new Params();
|
|
|
87 |
// Nécessaire que si une biographie existe...
|
|
|
88 |
// FIXME : remplacer par un id role?
|
|
|
89 |
if ((personne.obtenirValeurChamp("biographie")!=null)&&(!((String) personne.obtenirValeurChamp("biographie")).trim().equals(""))) {
|
|
|
90 |
|
|
|
91 |
contenuBio = "<div style='padding: 12px;'><h1>{0} {1} {2}</h1><h2>{3}</h2><br><b>Date de naissance: </b>{4}<br /><b>Date de décès:{5}</b><p>a{6}a</p></div>";
|
|
|
92 |
|
|
|
93 |
ajouterParam(bioParams, "ce_truk_prefix", personne);
|
|
|
94 |
ajouterParam(bioParams, "fmt_nom_complet", personne);
|
|
|
95 |
ajouterParam(bioParams, "ce_truk_suffix", personne);
|
|
|
96 |
ajouterParam(bioParams, "abreviation", personne);
|
|
|
97 |
ajouterParam(bioParams, "naissance_date", personne);
|
|
|
98 |
ajouterParam(bioParams, "deces_date", personne);
|
|
|
99 |
ajouterParam(bioParams, "biographie", personne);
|
|
|
100 |
infoBio.enable();
|
|
|
101 |
|
|
|
102 |
}
|
150 |
gduche |
103 |
|
183 |
gduche |
104 |
|
|
|
105 |
|
189 |
gduche |
106 |
infoBio.addText(Format.substitute(contenuBio, bioParams));
|
|
|
107 |
|
150 |
gduche |
108 |
layout();
|
|
|
109 |
} else {
|
|
|
110 |
header.setHtml("");
|
189 |
gduche |
111 |
|
150 |
gduche |
112 |
}
|
|
|
113 |
}
|
|
|
114 |
|
183 |
gduche |
115 |
public void rafraichir(Object nouvelleDonnees) {
|
|
|
116 |
if (nouvelleDonnees instanceof Personne) {
|
|
|
117 |
afficherDetailPersonne((Personne) nouvelleDonnees);
|
150 |
gduche |
118 |
} else if (nouvelleDonnees instanceof StructureListe) {
|
|
|
119 |
StructureListe listeInstitutions = (StructureListe) nouvelleDonnees;
|
|
|
120 |
// Test pour savoir si la liste contient des éléments
|
|
|
121 |
if (listeInstitutions.size() == 0) {
|
183 |
gduche |
122 |
afficherDetailPersonne(null);
|
150 |
gduche |
123 |
}
|
183 |
gduche |
124 |
}
|
150 |
gduche |
125 |
}
|
|
|
126 |
|
|
|
127 |
}
|