Subversion Repositories eFlore/Applications.cel

Rev

Rev 338 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues.observation.indicateurs;

import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.observation.ObservationMediateur;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.widgets.Panel;

public class LienExterneVue extends Panel implements Rafraichissable {
        
        private ObservationMediateur oMediateur = null;
        
        private String refTax = "";
        
        private String refTaxVersion = "";
        
        private String numTax = "";
        
        private String efloreBaseUrl = "";
        
        private Label titreLien = new Label("Voir la fiche eflore");
        
        public LienExterneVue(ObservationMediateur om) {
                oMediateur = om;
                
                refTax = Configuration.getRefTax();
                refTaxVersion = Configuration.getRefTaxVersion();
                efloreBaseUrl = Configuration.getLienEfloreBaseUrl();
                
                titreLien.setVisible(false);
                
                setBorder(false);
                
                titreLien.addClickHandler(new ClickHandler() {

                        public void onClick(ClickEvent event) {
                                if(!numTax.trim().equals("")) {
                                        Window.open("http://"+efloreBaseUrl+"/"+refTax+"/"+refTaxVersion+"/nn/"+numTax,"","");
                                }
                        }
                        
                });
                
                titreLien.setStyleName("lien_actif");
                
                add(titreLien);
        }
        
        public void rafraichir(Object nouvelleDonnees,
                        boolean repandreRaffraichissement) {
                
                if(nouvelleDonnees instanceof String && !((String)nouvelleDonnees).trim().equals("")) {
                        if(!titreLien.isVisible()) {
                                titreLien.setVisible(true);
                        } 
                        
                        numTax = (String)nouvelleDonnees;
                        
                } else {
                        titreLien.setVisible(false);
                }
                
        }

}