Subversion Repositories eFlore/Applications.coel

Rev

Rev 1136 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1136 Rev 1304
1
package org.tela_botanica.client.vues.commentaire;
1
package org.tela_botanica.client.vues.commentaire;
2
 
2
 
3
import org.tela_botanica.client.ComposantClass;
3
import org.tela_botanica.client.ComposantClass;
4
import org.tela_botanica.client.ComposantId;
4
import org.tela_botanica.client.ComposantId;
5
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.ValeurListe;
7
import org.tela_botanica.client.modeles.ValeurListe;
8
import org.tela_botanica.client.modeles.commentaire.Commentaire;
8
import org.tela_botanica.client.modeles.commentaire.Commentaire;
9
import org.tela_botanica.client.modeles.projet.ProjetListe;
9
import org.tela_botanica.client.modeles.projet.ProjetListe;
10
import org.tela_botanica.client.vues.DetailVue;
10
import org.tela_botanica.client.vues.DetailVue;
-
 
11
 
11
 
12
import com.extjs.gxt.ui.client.Style.Scroll;
12
import com.extjs.gxt.ui.client.util.Format;
13
import com.extjs.gxt.ui.client.util.Format;
13
import com.extjs.gxt.ui.client.util.Params;
14
import com.extjs.gxt.ui.client.util.Params;
14
import com.extjs.gxt.ui.client.widget.ContentPanel;
15
import com.extjs.gxt.ui.client.widget.ContentPanel;
15
import com.extjs.gxt.ui.client.widget.Html;
16
import com.extjs.gxt.ui.client.widget.Html;
16
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
17
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
17
import com.google.gwt.core.client.GWT;
18
import com.google.gwt.core.client.GWT;
18
 
19
 
19
public class CommentaireDetailVue extends DetailVue implements Rafraichissable {
20
public class CommentaireDetailVue extends DetailVue implements Rafraichissable {
20
	
21
	
21
	private String enteteTpl = null;
22
	private String enteteTpl = null;
22
	private String contenuTpl = null;
23
	private String contenuTpl = null;
23
		
24
		
24
	private ContentPanel panneauPrincipal = null;
25
	private ContentPanel panneauPrincipal = null;
25
	private Html entete = null;
26
	private Html entete = null;
26
	private Html contenu = null;
27
	private Html contenu = null;
27
	
28
	
28
	private Commentaire commentaire = null;
29
	private Commentaire commentaire = null;
29
	private boolean commentaireChargementOk = false;
30
	private boolean commentaireChargementOk = false;
30
 
31
 
31
	public CommentaireDetailVue(Mediateur mediateurCourant) {
32
	public CommentaireDetailVue(Mediateur mediateurCourant) {
32
		super(mediateurCourant);
33
		super(mediateurCourant);
33
		
34
		
34
		initialiserTousLesTpl();
35
		initialiserTousLesTpl();
35
		chargerOntologie();
36
		chargerOntologie();
36
		
37
		
37
		panneauPrincipal = new ContentPanel();
38
		panneauPrincipal = new ContentPanel();
38
		panneauPrincipal.setLayout(new FitLayout());
39
		panneauPrincipal.setLayout(new FitLayout());
39
		panneauPrincipal.setHeaderVisible(false);
40
		panneauPrincipal.setHeaderVisible(false);
40
		panneauPrincipal.setBodyBorder(false);
41
		panneauPrincipal.setBodyBorder(false);
-
 
42
		panneauPrincipal.setScrollMode(Scroll.AUTO);
41
			
43
			
42
	    entete = new Html();
44
	    entete = new Html();
43
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
45
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
44
	    panneauPrincipal.setTopComponent(entete);
46
	    panneauPrincipal.setTopComponent(entete);
45
	    
47
	    
46
	    contenu = new Html();
48
	    contenu = new Html();
47
	    panneauPrincipal.add(contenu);
49
	    panneauPrincipal.add(contenu);
48
	    
50
	    
49
		add(panneauPrincipal);
51
		add(panneauPrincipal);
50
	}
52
	}
51
 
53
 
52
	private void initialiserTousLesTpl() {
54
	private void initialiserTousLesTpl() {
53
		initialiserEnteteHtmlTpl();
55
		initialiserEnteteHtmlTpl();
54
		initialiserGeneralTpl();
56
		initialiserGeneralTpl();
55
	}
57
	}
56
	
58
	
57
	private void initialiserEnteteHtmlTpl() {
59
	private void initialiserEnteteHtmlTpl() {
58
		enteteTpl = 	
60
		enteteTpl = 	
59
			"<div id='{css_id}'>"+
61
			"<div id='{css_id}'>"+
60
			"	<h1>{titre}</h1>"+
62
			"	<h1>{titre}</h1>"+
61
			"	<h2>{collection}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
63
			"	<h2>{collection}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
62
			"</div>";
64
			"</div>";
63
	}
65
	}
64
	
66
	
65
	private void initialiserGeneralTpl() {
67
	private void initialiserGeneralTpl() {
66
		contenuTpl =
68
		contenuTpl =
67
			"<div class='{css_corps}'>"+
69
			"<div class='{css_corps}'>"+
68
			"		<span class='{css_label}'>{i18n_type} :</span> {type}<br />"+
70
			"		<span class='{css_label}'>{i18n_type} :</span> {type}<br />"+
69
			"		<span class='{css_label}'>{i18n_public} :</span> {public}<br />"+
71
			"		<span class='{css_label}'>{i18n_public} :</span> {public}<br />"+
70
			"		<span class='{css_label}'>{i18n_ponderation} :</span> {ponderation}<br />"+
72
			"		<span class='{css_label}'>{i18n_ponderation} :</span> {ponderation}<br />"+
71
			"		<span class='{css_label}'>{i18n_texte} :</span>"+
73
			"		<span class='{css_label}'>{i18n_texte} :</span>"+
72
			"		{texte}"+
74
			"		{texte}"+
73
			"</div>";
75
			"</div>";
74
	}
76
	}
75
	
77
	
76
	private void chargerOntologie() {
78
	private void chargerOntologie() {
77
		String[] listesCodes = {"typeCommentaireCollection"};
79
		String[] listesCodes = {"typeCommentaireCollection"};
78
		lancerChargementListesValeurs(listesCodes);
80
		lancerChargementListesValeurs(listesCodes);
79
	}
81
	}
80
	
82
	
81
	public void afficherDetail() {
83
	public void afficherDetail() {
82
		if (commentaire != null) {
84
		if (commentaire != null) {
83
			afficherEntete();
85
			afficherEntete();
84
			afficherDetailCommentaire();
86
			afficherDetailCommentaire();
85
		}
87
		}
86
		layout();
88
		layout();
87
	}
89
	}
88
	
90
	
89
	private void afficherEntete() {
91
	private void afficherEntete() {
90
		Params enteteParams = new Params();
92
		Params enteteParams = new Params();
91
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
93
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
92
		enteteParams.set("css_meta", ComposantClass.META);
94
		enteteParams.set("css_meta", ComposantClass.META);
93
		
95
		
94
		enteteParams.set("i18n_id", i18nC.id());
96
		enteteParams.set("i18n_id", i18nC.id());
95
				
97
				
96
		enteteParams.set("collection", commentaire.getCollection().getNom());
98
		enteteParams.set("collection", commentaire.getCollection().getNom());
97
		enteteParams.set("titre", commentaire.getTitre());
99
		enteteParams.set("titre", commentaire.getTitre());
98
		enteteParams.set("id", commentaire.getId());
100
		enteteParams.set("id", commentaire.getId());
99
		enteteParams.set("guid", getGuid());
101
		enteteParams.set("guid", getGuid());
100
		enteteParams.set("projet", construireTxtProjet(commentaire.getIdProjet()));
102
		enteteParams.set("projet", construireTxtProjet(commentaire.getIdProjet()));
101
		
103
		
102
		String eHtml = Format.substitute(enteteTpl, enteteParams);
104
		String eHtml = Format.substitute(enteteTpl, enteteParams);
103
		entete.getElement().setInnerHTML(eHtml);
105
		entete.getElement().setInnerHTML(eHtml);
104
	}
106
	}
105
	
107
	
106
	public String getGuid() {
108
	public String getGuid() {
107
		String guid = "URN:tela-botanica.org:";
109
		String guid = "URN:tela-botanica.org:";
108
		guid += "coel"+commentaire.getIdProjet()+":";
110
		guid += "coel"+commentaire.getIdProjet()+":";
109
		guid += "com"+commentaire.getId();
111
		guid += "com"+commentaire.getId();
110
		return guid;
112
		return guid;
111
	}
113
	}
112
	
114
	
113
	public void afficherDetailCommentaire() {
115
	public void afficherDetailCommentaire() {
114
		Params contenuParams = new Params();
116
		Params contenuParams = new Params();
115
		
117
		
116
		contenuParams.set("i18n_type", i18nC.commentaireType());
118
		contenuParams.set("i18n_type", i18nC.commentaireType());
117
		contenuParams.set("i18n_public", i18nC.commentairePublic());
119
		contenuParams.set("i18n_public", i18nC.commentairePublic());
118
		contenuParams.set("i18n_ponderation", i18nC.commentairePonderation());
120
		contenuParams.set("i18n_ponderation", i18nC.commentairePonderation());
119
		contenuParams.set("i18n_texte", i18nC.commentaireTexte());
121
		contenuParams.set("i18n_texte", i18nC.commentaireTexte());
120
		
122
		
121
		String type = construireTxtListeOntologie(commentaire.getCollectionACommentaire().getType());
123
		String type = construireTxtListeOntologie(commentaire.getCollectionACommentaire().getType());
122
		
124
		
123
		contenuParams.set("type", type);
125
		contenuParams.set("type", type);
124
		contenuParams.set("ponderation", commentaire.getPonderation());
126
		contenuParams.set("ponderation", commentaire.getPonderation());
125
		contenuParams.set("public", (commentaire.etrePublic() ? "public" : "privé"));
127
		contenuParams.set("public", (commentaire.etrePublic() ? "public" : "privé"));
126
		contenuParams.set("texte", commentaire.getTexte());
128
		contenuParams.set("texte", commentaire.getTexte());
127
		
129
		
128
		String gHtml = formaterContenu(contenuTpl, contenuParams);
130
		String gHtml = formaterContenu(contenuTpl, contenuParams);
129
		contenu.getElement().setInnerHTML(gHtml);
131
		contenu.getElement().setInnerHTML(gHtml);
130
	}
132
	}
131
	
133
	
132
	public void rafraichir(Object nouvellesDonnees) {
134
	public void rafraichir(Object nouvellesDonnees) {
133
		if (nouvellesDonnees instanceof Commentaire) {
135
		if (nouvellesDonnees instanceof Commentaire) {
134
			commentaire = (Commentaire) nouvellesDonnees;
136
			commentaire = (Commentaire) nouvellesDonnees;
135
			commentaireChargementOk = true;
137
			commentaireChargementOk = true;
136
		} else if (nouvellesDonnees instanceof ProjetListe) {
138
		} else if (nouvellesDonnees instanceof ProjetListe) {
137
			projets = (ProjetListe) nouvellesDonnees;
139
			projets = (ProjetListe) nouvellesDonnees;
138
			projetsChargementOk = true;
140
			projetsChargementOk = true;
139
		} else if (nouvellesDonnees instanceof ValeurListe) {
141
		} else if (nouvellesDonnees instanceof ValeurListe) {
140
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
142
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
141
			receptionerListeValeurs(listeValeursReceptionnee);
143
			receptionerListeValeurs(listeValeursReceptionnee);
142
		} else {
144
		} else {
143
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
145
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
144
		}
146
		}
145
		
147
		
146
		if (avoirDonneesChargees()) {
148
		if (avoirDonneesChargees()) {
147
			afficherDetail();
149
			afficherDetail();
148
		}
150
		}
149
	}
151
	}
150
	
152
	
151
	private boolean avoirDonneesChargees() {
153
	private boolean avoirDonneesChargees() {
152
		boolean ok = false;
154
		boolean ok = false;
153
		if (projetsChargementOk && commentaireChargementOk) {
155
		if (projetsChargementOk && commentaireChargementOk) {
154
			ok = true;
156
			ok = true;
155
		}
157
		}
156
		return ok;
158
		return ok;
157
	}
159
	}
158
}
160
}