New file |
0,0 → 1,107 |
package org.tela_botanica.client.vues.accueil; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
import org.tela_botanica.client.modeles.InterneValeur; |
import org.tela_botanica.client.vues.Formulaire; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.event.IconButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.event.WindowEvent; |
import com.extjs.gxt.ui.client.event.WindowListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Dialog; |
import com.extjs.gxt.ui.client.widget.HtmlContainer; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
|
public class AppletteStatistique extends Applette { |
|
private String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
|
|
public AppletteStatistique(Mediateur mediateurCourrant) { |
initialiserAppletteStatistique(mediateurCourrant, null); |
} |
|
public AppletteStatistique(Mediateur mediateurCourrant, String contenu) { |
initialiserAppletteStatistique(mediateurCourrant, contenu); |
} |
|
private void initialiserAppletteStatistique(Mediateur mediateurCourrant, String contenu) { |
String titre = "Statistiques des collections"; |
initialiserApplette(mediateurCourrant, titre); |
|
SelectionListener<IconButtonEvent> configurationListener = new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
ContentPanel panneau = new ContentPanel(); |
panneau.setHeaderVisible(false); |
panneau.setLayout(Formulaire.creerFormLayout(350, LabelAlign.TOP)); |
|
ListStore<InterneValeur> appletteStore = new ListStore<InterneValeur>(); |
appletteStore.add(new InterneValeur("NombreDonnees", "Nombre de données")); |
appletteStore.add(new InterneValeur("MesDonnees", "Ma participation")); |
appletteStore.add(new InterneValeur("TypeDepot", "Types de dépôt des collections")); |
appletteStore.add(new InterneValeur("NombreCollectionParStructure", "Nombre de collections par institution")); |
|
final ComboBox<InterneValeur> applettesCombo = new ComboBox<InterneValeur>(); |
applettesCombo.setFieldLabel("Veuillez sélectionner le type d'applette"); |
applettesCombo.setForceSelection(true); |
applettesCombo.setTriggerAction(TriggerAction.ALL); |
applettesCombo.setDisplayField("nom"); |
applettesCombo.setStore(appletteStore); |
applettesCombo.setEditable(false); |
applettesCombo.setWidth(300); |
|
panneau.add(applettesCombo); |
|
final Dialog configurationFenetre = new Dialog(); |
configurationFenetre.setHeading("Configuration de l'applette"); |
configurationFenetre.setButtons(Dialog.OK); |
configurationFenetre.setSize(350, 150); |
configurationFenetre.setPlain(true); |
configurationFenetre.setModal(true); |
configurationFenetre.setBlinkModal(true); |
configurationFenetre.setLayout(new FitLayout()); |
configurationFenetre.setHideOnButtonClick(true); |
configurationFenetre.addWindowListener(new WindowListener(){ |
public void windowHide(WindowEvent we) { |
String abreviation = applettesCombo.getValue().getAbr(); |
attribuerContenu(abreviation); |
} |
}); |
configurationFenetre.add(panneau); |
configurationFenetre.show(); |
} |
}; |
ajouterConfigurationListener(configurationListener); |
|
attribuerContenu(contenu); |
} |
|
private void attribuerContenu(String abreviation) { |
if (abreviation == null) { |
abreviation = "NombreDonnees"; |
} |
setData("contenu", abreviation); |
String url = baseUrl+"CoelStatistique/"+abreviation; |
|
if (abreviation.equals("MesDonnees")) { |
url += "/"+mediateur.getUtilisateurId(); |
} |
|
HtmlContainer conteneurHtml = new HtmlContainer(); |
conteneurHtml.setUrl(url); |
conteneurHtml.recalculate(); |
|
removeAll(); |
add(conteneurHtml); |
layout(); |
} |
} |