Subversion Repositories eFlore/Applications.coel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
912 jpm 1
package org.tela_botanica.client.vues.accueil;
2
 
1165 jpm 3
import org.tela_botanica.client.Mediateur;
912 jpm 4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.configuration.Configuration;
6
import org.tela_botanica.client.modeles.InterneValeur;
7
import org.tela_botanica.client.vues.Formulaire;
8
 
9
import com.extjs.gxt.ui.client.Registry;
10
import com.extjs.gxt.ui.client.event.IconButtonEvent;
11
import com.extjs.gxt.ui.client.event.SelectionListener;
12
import com.extjs.gxt.ui.client.event.WindowEvent;
13
import com.extjs.gxt.ui.client.event.WindowListener;
14
import com.extjs.gxt.ui.client.store.ListStore;
15
import com.extjs.gxt.ui.client.widget.ContentPanel;
16
import com.extjs.gxt.ui.client.widget.Dialog;
17
import com.extjs.gxt.ui.client.widget.HtmlContainer;
18
import com.extjs.gxt.ui.client.widget.form.ComboBox;
19
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
20
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
21
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
22
 
913 jpm 23
public class AppletteStatistique extends Applette {
912 jpm 24
 
25
	private String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
913 jpm 26
 
912 jpm 27
 
1165 jpm 28
	public AppletteStatistique(Mediateur mediateurCourrant) {
29
		initialiserAppletteStatistique(mediateurCourrant, null);
912 jpm 30
	}
31
 
1165 jpm 32
	public AppletteStatistique(Mediateur mediateurCourrant, String contenu) {
33
		initialiserAppletteStatistique(mediateurCourrant, contenu);
912 jpm 34
	}
35
 
1165 jpm 36
	private void initialiserAppletteStatistique(Mediateur mediateurCourrant, String contenu) {
913 jpm 37
		String titre = "Statistiques des collections";
1165 jpm 38
		initialiserApplette(mediateurCourrant, titre);
912 jpm 39
 
913 jpm 40
		SelectionListener<IconButtonEvent> configurationListener = new SelectionListener<IconButtonEvent>() {
912 jpm 41
			@Override
42
			public void componentSelected(IconButtonEvent ce) {
43
				ContentPanel panneau = new ContentPanel();
44
				panneau.setHeaderVisible(false);
45
				panneau.setLayout(Formulaire.creerFormLayout(350, LabelAlign.TOP));
46
 
47
				ListStore<InterneValeur> appletteStore = new ListStore<InterneValeur>();
48
				appletteStore.add(new InterneValeur("NombreDonnees", "Nombre de données"));
49
				appletteStore.add(new InterneValeur("TypeDepot", "Types de dépôt des collections"));
50
				appletteStore.add(new InterneValeur("NombreCollectionParStructure", "Nombre de collections par institution"));
51
 
52
				final ComboBox<InterneValeur> applettesCombo = new ComboBox<InterneValeur>();
53
				applettesCombo.setFieldLabel("Veuillez sélectionner le type d'applette");
54
				applettesCombo.setForceSelection(true);
55
				applettesCombo.setTriggerAction(TriggerAction.ALL);
56
				applettesCombo.setDisplayField("nom");
57
				applettesCombo.setStore(appletteStore);
58
				applettesCombo.setEditable(false);
59
				applettesCombo.setWidth(300);
60
 
61
				panneau.add(applettesCombo);
62
 
63
				final Dialog configurationFenetre = new Dialog();
64
				configurationFenetre.setHeading("Configuration de l'applette");
65
				configurationFenetre.setButtons(Dialog.OK);
66
				configurationFenetre.setSize(350, 150);
67
				configurationFenetre.setPlain(true);
68
				configurationFenetre.setModal(true);
69
				configurationFenetre.setBlinkModal(true);
70
				configurationFenetre.setLayout(new FitLayout());
71
				configurationFenetre.setHideOnButtonClick(true);
72
				configurationFenetre.addWindowListener(new WindowListener(){
73
					public void windowHide(WindowEvent we) {
74
						String abreviation = applettesCombo.getValue().getAbr();
75
						attribuerContenu(abreviation);
76
					}
77
				});
78
				configurationFenetre.add(panneau);
79
				configurationFenetre.show();
80
			}
913 jpm 81
		};
82
		ajouterConfigurationListener(configurationListener);
912 jpm 83
 
913 jpm 84
		attribuerContenu(contenu);
912 jpm 85
	}
913 jpm 86
 
912 jpm 87
	private void attribuerContenu(String abreviation) {
88
		if (abreviation == null) {
89
			abreviation = "NombreDonnees";
90
		}
91
		setData("contenu", abreviation);
92
		String url = baseUrl+"CoelStatistique/"+abreviation;
93
 
1165 jpm 94
		if (abreviation.equals("MesDonnees")) {
95
			url += "/"+mediateur.getUtilisateurId();
96
		}
97
 
912 jpm 98
		HtmlContainer conteneurHtml = new HtmlContainer();
99
		conteneurHtml.setUrl(url);
100
		conteneurHtml.recalculate();
101
 
102
		removeAll();
103
		add(conteneurHtml);
104
		layout();
105
	}
106
}