Subversion Repositories eFlore/Applications.del

Rev

Rev 1553 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1206 gduche 1
package org.tela_botanica.del.client.vues.entete.liens;
2
 
3
import org.tela_botanica.del.client.cache.CacheClient;
1553 jpm 4
import org.tela_botanica.del.client.config.Config;
1219 aurelien 5
import org.tela_botanica.del.client.i18n.I18n;
6
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
7
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
8
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
1206 gduche 9
 
10
import com.google.gwt.core.client.GWT;
11
import com.google.gwt.uibinder.client.UiBinder;
12
import com.google.gwt.uibinder.client.UiField;
1219 aurelien 13
import com.google.gwt.user.client.Window;
1206 gduche 14
import com.google.gwt.user.client.ui.Anchor;
15
import com.google.gwt.user.client.ui.Composite;
16
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.Panel;
18
import com.google.gwt.user.client.ui.Widget;
19
 
20
public class LiensVue extends Composite implements LiensPresenteur.Vue {
21
 
22
	// Gestion d'UiBinder
23
	interface Binder extends UiBinder<Widget, LiensVue> {}
24
 
25
	private static Binder binder = GWT.create(Binder.class);
26
 
27
	@UiField Panel zonePartageUrl;
1208 gduche 28
	@UiField Anchor ajouterObservation, aidePictoflora, aide, participerProjet;
1206 gduche 29
 
30
	public LiensVue() {
31
		initWidget(binder.createAndBindUi(this));
32
		gererAffichageEnFonctionDeLaNavigation();
1219 aurelien 33
		gererEvenements();
1206 gduche 34
	}
35
 
36
	public HasWidgets getZonePartageUrl() {
37
		return zonePartageUrl;
38
	}
39
 
40
	public void gererAffichageEnFonctionDeLaNavigation() {
1553 jpm 41
		String urlCourante = Window.Location.getHref();
42
		Config config = new Config();
43
		String urlAppliImg = config.getUrl("pictoflora");
1206 gduche 44
 
1553 jpm 45
		if (urlCourante.contains(urlAppliImg)) {
1206 gduche 46
			//SI PICTO
47
			ajouterObservation.setVisible(false);
48
			aide.setVisible(false);
1219 aurelien 49
			setLienSaisieProjet();
1206 gduche 50
		} else {
51
			aidePictoflora.setVisible(false);
52
			participerProjet.setVisible(false);
53
		}
54
	}
55
 
1219 aurelien 56
	private void setLienSaisieProjet() {
57
		participerProjet.setHref(formaterLienSaisieProjetUrl());
1405 aurelien 58
		participerProjet.setTitle(I18n.getVocabulary().legendeAjouterImage());
1219 aurelien 59
	}
60
 
61
	private String formaterLienSaisieProjetUrl() {
62
		String urlSaisieProjet = I18n.getVocabulary().lienAppliSaisie();
63
		if(CacheClient.getInstance().getProtocoleCourant() != null) {
64
			String tagProtocole = CacheClient.getInstance().getProtocoleCourant().getTag();
65
			urlSaisieProjet = I18n.getVocabulary().lienAppliSaisieProjetUrl();
66
			urlSaisieProjet = urlSaisieProjet.replace("{projet}", tagProtocole);
67
		}
68
		return urlSaisieProjet;
69
	}
70
 
71
	private void gererEvenements() {
72
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
73
			@Override
74
			public void onChangementProtocole(EvenementChangementProtocole event) {
75
				setLienSaisieProjet();
76
			}
77
		});
78
	}
1405 aurelien 79
}