Subversion Repositories eFlore/Applications.del

Rev

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