Rev 2169 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.observation.indicateurs;import org.tela_botanica.client.cel2;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 = verifierEtFormaterReferentiel(om.getRefTaxSelectionne().getCode());efloreBaseUrl = Configuration.getLienEfloreBaseUrl();titreLien.setVisible(false);setBorder(false);titreLien.addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {if(!numTax.trim().equals("")) {Window.open("http://"+efloreBaseUrl+"/"+refTax+"-nn-"+numTax,"","");}}});titreLien.setStyleName("lien_actif");add(titreLien);}@Overridepublic 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") || nouveauNumTax.trim().equals("0") || codeRef.trim().equals("")) {titreLien.setVisible(false);} else {if(!titreLien.isVisible()) {titreLien.setVisible(true);}numTax = nouveauNumTax;refTax = verifierEtFormaterReferentiel(codeRef);}}public String verifierEtFormaterReferentiel(String refTax) {// Sert simplement à exclure les vieux formats de référentiel// du genre bdtfx:v2.00 ou bien bdnff.v1_01 etc...// TODO: nettoyer également la base de donnéesString retour = refTax;if(retour != null && !retour.isEmpty()) {if (retour.contains(":")) {retour = retour.split(":")[0];}if(retour.contains(".")) {retour = retour.split(".")[0];}}return retour;}}