Subversion Repositories eFlore/Applications.del

Rev

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