| 318 |
aurelien |
1 |
package org.tela_botanica.client.vues.observation.indicateurs;
|
|
|
2 |
|
| 2627 |
mathias |
3 |
import org.tela_botanica.client.i18n.Msg;
|
| 318 |
aurelien |
4 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
| 989 |
aurelien |
5 |
import org.tela_botanica.client.modeles.objets.Configuration;
|
| 318 |
aurelien |
6 |
import org.tela_botanica.client.observation.ObservationMediateur;
|
|
|
7 |
|
| 338 |
aurelien |
8 |
import com.google.gwt.event.dom.client.ClickEvent;
|
|
|
9 |
import com.google.gwt.event.dom.client.ClickHandler;
|
| 318 |
aurelien |
10 |
import com.google.gwt.user.client.Window;
|
|
|
11 |
import com.google.gwt.user.client.ui.Label;
|
|
|
12 |
import com.gwtext.client.widgets.Panel;
|
|
|
13 |
|
|
|
14 |
public class LienExterneVue extends Panel implements Rafraichissable {
|
| 2627 |
mathias |
15 |
|
| 318 |
aurelien |
16 |
private String refTax = "";
|
| 2168 |
mathias |
17 |
|
| 318 |
aurelien |
18 |
private String numTax = "";
|
|
|
19 |
|
|
|
20 |
private String efloreBaseUrl = "";
|
|
|
21 |
|
| 2627 |
mathias |
22 |
private Label titreLien = new Label(Msg.get("voir-fiche-eflore"));
|
| 318 |
aurelien |
23 |
|
|
|
24 |
public LienExterneVue(ObservationMediateur om) {
|
| 2168 |
mathias |
25 |
|
| 2411 |
aurelien |
26 |
refTax = verifierEtFormaterReferentiel(om.getRefTaxSelectionne().getCode());
|
| 318 |
aurelien |
27 |
efloreBaseUrl = Configuration.getLienEfloreBaseUrl();
|
|
|
28 |
|
|
|
29 |
titreLien.setVisible(false);
|
|
|
30 |
|
|
|
31 |
setBorder(false);
|
|
|
32 |
|
| 338 |
aurelien |
33 |
titreLien.addClickHandler(new ClickHandler() {
|
| 318 |
aurelien |
34 |
|
| 1292 |
aurelien |
35 |
@Override
|
| 338 |
aurelien |
36 |
public void onClick(ClickEvent event) {
|
| 318 |
aurelien |
37 |
if(!numTax.trim().equals("")) {
|
| 1454 |
aurelien |
38 |
Window.open("http://"+efloreBaseUrl+"/"+refTax+"-nn-"+numTax,"","");
|
| 318 |
aurelien |
39 |
}
|
|
|
40 |
}
|
| 338 |
aurelien |
41 |
|
| 318 |
aurelien |
42 |
});
|
|
|
43 |
|
|
|
44 |
titreLien.setStyleName("lien_actif");
|
|
|
45 |
|
|
|
46 |
add(titreLien);
|
|
|
47 |
}
|
|
|
48 |
|
| 1292 |
aurelien |
49 |
@Override
|
| 2168 |
mathias |
50 |
public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
|
|
|
51 |
|
|
|
52 |
String[] nouvellesDonnees = (String[]) nouvelleDonnees;
|
|
|
53 |
String nouveauNumTax = nouvellesDonnees[0];
|
|
|
54 |
String codeRef = nouvellesDonnees[1];
|
|
|
55 |
|
| 2169 |
mathias |
56 |
if(nouveauNumTax.trim().equals("") || codeRef.trim().equals("autre") || nouveauNumTax.trim().equals("0") || codeRef.trim().equals("")) {
|
|
|
57 |
titreLien.setVisible(false);
|
|
|
58 |
} else {
|
| 318 |
aurelien |
59 |
if(!titreLien.isVisible()) {
|
|
|
60 |
titreLien.setVisible(true);
|
|
|
61 |
}
|
|
|
62 |
|
| 2168 |
mathias |
63 |
numTax = nouveauNumTax;
|
| 2411 |
aurelien |
64 |
refTax = verifierEtFormaterReferentiel(codeRef);
|
| 318 |
aurelien |
65 |
}
|
|
|
66 |
|
|
|
67 |
}
|
|
|
68 |
|
| 2411 |
aurelien |
69 |
public String verifierEtFormaterReferentiel(String refTax) {
|
|
|
70 |
// Sert simplement à exclure les vieux formats de référentiel
|
|
|
71 |
// du genre bdtfx:v2.00 ou bien bdnff.v1_01 etc...
|
|
|
72 |
// TODO: nettoyer également la base de données
|
|
|
73 |
String retour = refTax;
|
|
|
74 |
if(retour != null && !retour.isEmpty()) {
|
|
|
75 |
if (retour.contains(":")) {
|
|
|
76 |
retour = retour.split(":")[0];
|
|
|
77 |
}
|
|
|
78 |
|
|
|
79 |
if(retour.contains(".")) {
|
|
|
80 |
retour = retour.split(".")[0];
|
|
|
81 |
}
|
|
|
82 |
}
|
|
|
83 |
return retour;
|
|
|
84 |
}
|
| 318 |
aurelien |
85 |
}
|