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;
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
 
1549 jpm 47
		if (pageCourante.startsWith(ConstantesNavigation.PICTOFLORA)
48
			|| pageCourante.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)
49
			|| pageCourante.startsWith(ConstantesNavigation.PAGE_DETAIL_IMG)) {
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
}