Subversion Repositories eFlore/Applications.cel

Rev

Rev 1542 | 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.objets.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.Label;
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 = om.getRefTaxSelectionne().getCode();
                refTaxVersion = om.getRefTaxSelectionne().getVersionCourte();
                efloreBaseUrl = Configuration.getLienEfloreBaseUrl();
                
                titreLien.setVisible(false);
                
                setBorder(false);
                
                titreLien.addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                                if(!numTax.trim().equals("")) {
                                        Window.open("http://"+efloreBaseUrl+"/"+refTax+"-nn-"+numTax,"","");
                                }
                        }
                        
                });
                
                titreLien.setStyleName("lien_actif");
                
                add(titreLien);
        }
        
        @Override
        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);
                }
                
        }

}