Rev 1136 | Blame | Compare with Previous | Last modification | View Log | RSS feed
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>() {@Overridepublic 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();}}