Subversion Repositories eFlore/Applications.coel

Rev

Rev 444 | Rev 716 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 444 Rev 553
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
-
 
2
 
-
 
3
import org.tela_botanica.client.Mediateur;
2
 
4
import org.tela_botanica.client.i18n.Constantes;
3
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.modeles.Publication;
6
import org.tela_botanica.client.modeles.Publication;
5
import org.tela_botanica.client.modeles.PublicationListe;
7
import org.tela_botanica.client.modeles.PublicationListe;
6
 
8
 
7
import com.extjs.gxt.ui.client.Style.Scroll;
9
import com.extjs.gxt.ui.client.Style.Scroll;
8
import com.extjs.gxt.ui.client.util.Format;
10
import com.extjs.gxt.ui.client.util.Format;
9
import com.extjs.gxt.ui.client.util.Params;
11
import com.extjs.gxt.ui.client.util.Params;
10
import com.extjs.gxt.ui.client.widget.ContentPanel;
12
import com.extjs.gxt.ui.client.widget.ContentPanel;
11
import com.extjs.gxt.ui.client.widget.Html;
13
import com.extjs.gxt.ui.client.widget.Html;
12
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
14
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
13
 
15
 
14
public class PublicationDetailVue extends ContentPanel implements Rafraichissable {
16
public class PublicationDetailVue extends ContentPanel implements Rafraichissable {
15
		
17
	
-
 
18
	private Mediateur mediateur = null;
-
 
19
	private Constantes i18nC = null;
-
 
20
	
16
	private ContentPanel content;
21
	private ContentPanel content;
17
	private Html header;
22
	private Html header;
18
	private String enteteHTML = "<div class='coel-detail'><h1>{0}</h1><h2>{1}</h2><h2>{2}</h2></div>";
23
	private String enteteHTML = "<div class='coel-detail'><h1>{0}</h1><h2>{1}</h2><h2>{2}</h2></div>";
19
	private String contenuHTML = "<div style='padding: 12px;'><h2>Détails de la publication</h2><span style='font-weight:bold;'>Nom de la revue :</span> {0}<br /><span style='font-weight:bold;'>Editeur :</span> {1}<br /><span style='font-weight:bold;'>Année :</span> {2}<br /><span style='font-weight:bold;'>Tome :</span> {3}<br /><span style='font-weight:bold;'>Fascicule :</span> {4}<br /><span style='font-weight:bold;'>Pages :</span> {5}</div>";
24
	private String contenuHTML = "<div style='padding: 12px;'><h2>Détails de la publication</h2><span style='font-weight:bold;'>Nom de la revue :</span> {0}<br /><span style='font-weight:bold;'>Editeur :</span> {1}<br /><span style='font-weight:bold;'>Année :</span> {2}<br /><span style='font-weight:bold;'>Tome :</span> {3}<br /><span style='font-weight:bold;'>Fascicule :</span> {4}<br /><span style='font-weight:bold;'>Pages :</span> {5}</div>";
20
	private String publicationNom = null;
25
	private String publicationNom = null;
21
	private String publicationAuteur = null;
26
	private String publicationAuteur = null;
22
	private String publicationDateParution = null;
27
	private String publicationDateParution = null;
23
 
28
 
-
 
29
	public PublicationDetailVue(Mediateur mediateurCourant) {
-
 
30
		mediateur = mediateurCourant;
-
 
31
		i18nC = mediateur.i18nC;
24
	public PublicationDetailVue() {
32
		
25
		setHeaderVisible(false);
33
		setHeaderVisible(false);
26
		setLayout(new FitLayout());
34
		setLayout(new FitLayout());
27
 
35
 
28
		content = new ContentPanel();
36
		content = new ContentPanel();
29
		content.setBodyBorder(false);
37
		content.setBodyBorder(false);
30
		content.setHeaderVisible(false);
38
		content.setHeaderVisible(false);
31
		content.setScrollMode(Scroll.AUTO);
39
		content.setScrollMode(Scroll.AUTO);
32
 
40
 
33
		header = new Html();
41
		header = new Html();
34
		header.setStyleName("coel-detail");
42
		header.setStyleName("coel-detail");
35
		content.setTopComponent(header);
43
		content.setTopComponent(header);
36
 
44
 
37
		add(content);
45
		add(content);
38
	}
46
	}
39
 
47
 
40
	public void afficherDetailPublication(Publication publication) {
48
	public void afficherDetailPublication(Publication publication) {
41
		if (publication != null) {
49
		if (publication != null) {
42
			content.removeAll();
50
			content.removeAll();
43
			
51
			
44
			publicationNom = publication.getTitre();
52
			publicationNom = publication.getTitre();
45
			publicationAuteur = publication.getAuteur().replaceAll("\\|", ", ");;
53
			publicationAuteur = publication.getAuteur().replaceAll("\\|", ", ");;
46
			publicationDateParution = publication.getDateParution();
54
			publicationDateParution = publication.getDateParution();
47
 
55
 
48
			Params enteteParams = new Params();
56
			Params enteteParams = new Params();
49
			enteteParams.add(publicationNom);
57
			enteteParams.add(publicationNom);
50
			enteteParams.add(publicationAuteur);
58
			enteteParams.add(publicationAuteur);
51
			enteteParams.add(publicationDateParution);
59
			enteteParams.add(publicationDateParution);
52
 
60
 
53
			String eHtml = Format.substitute(enteteHTML, enteteParams);
61
			String eHtml = Format.substitute(enteteHTML, enteteParams);
54
			header.getElement().setInnerHTML(eHtml);
62
			header.getElement().setInnerHTML(eHtml);
55
 
63
 
56
			Params contenuParams = new Params();
64
			Params contenuParams = new Params();
57
			contenuParams.add(publication.getCollection());
65
			contenuParams.add(publication.getCollection());
58
			contenuParams.add(publication.getEditeur());
66
			contenuParams.add(publication.getEditeur());
59
			contenuParams.add(publication.getDateParution());
67
			contenuParams.add(publication.getDateParution());
60
			contenuParams.add(publication.getIndicationNvt());
68
			contenuParams.add(publication.getIndicationNvt());
61
			contenuParams.add(publication.getFascicule());
69
			contenuParams.add(publication.getFascicule());
62
			contenuParams.add(publication.getPages());
70
			contenuParams.add(publication.getPages());
63
			
71
			
64
			String cHtml = Format.substitute(contenuHTML, contenuParams);
72
			String cHtml = Format.substitute(contenuHTML, contenuParams);
65
			content.addText(cHtml);
73
			content.addText(cHtml);
66
 
74
 
67
			layout();
75
			layout();
68
		} else {
76
		} else {
69
			header.setHtml("");
77
			header.setHtml("");
70
			content.removeAll();
78
			content.removeAll();
71
		}
79
		}
72
	}
80
	}
73
 
81
 
74
	public void rafraichir(Object nouvelleDonnees) {
82
	public void rafraichir(Object nouvelleDonnees) {
75
		if (nouvelleDonnees instanceof Publication) {
83
		if (nouvelleDonnees instanceof Publication) {
76
			afficherDetailPublication((Publication) nouvelleDonnees);
84
			afficherDetailPublication((Publication) nouvelleDonnees);
77
		} else if (nouvelleDonnees instanceof PublicationListe) {
85
		} else if (nouvelleDonnees instanceof PublicationListe) {
78
			PublicationListe listePublication = (PublicationListe) nouvelleDonnees;
86
			PublicationListe listePublication = (PublicationListe) nouvelleDonnees;
79
			// Test pour savoir si la liste contient des éléments
87
			// Test pour savoir si la liste contient des éléments
80
			if (listePublication.size() == 0) {
88
			if (listePublication.size() == 0) {
81
				afficherDetailPublication(null);
89
				afficherDetailPublication(null);
82
			}
90
			}
83
		}
91
		}
84
	}
92
	}
85
 
93
 
86
}
94
}