Subversion Repositories eFlore/Applications.cel

Rev

Rev 1542 | Rev 2169 | Go to most recent revision | 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 numTax = "";
        
        private String efloreBaseUrl = "";
        
        private Label titreLien = new Label("Voir la fiche eflore");
        
        public LienExterneVue(ObservationMediateur om) {

                refTax = om.getRefTaxSelectionne().getCode();
                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) {

                String[] nouvellesDonnees = (String[]) nouvelleDonnees;
                String nouveauNumTax = nouvellesDonnees[0];
                String codeRef = nouvellesDonnees[1];

                if(! nouveauNumTax.trim().equals("") && ! codeRef.trim().equals("autre")) {
                        if(!titreLien.isVisible()) {
                                titreLien.setVisible(true);
                        } 
                        
                        numTax = nouveauNumTax;
                        refTax = codeRef;
                } else {
                        titreLien.setVisible(false);
                }
                
        }

}