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