New file |
0,0 → 1,73 |
package org.tela_botanica.del.client.vues.entete.liens; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat; |
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback; |
|
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
|
public class LiensPresenteur extends Presenteur { |
|
public interface Vue extends IsWidget { |
public HasWidgets getZonePartageUrl(); |
} |
|
private Vue vue; |
|
public LiensPresenteur(Vue vue) { |
this.vue = vue; |
} |
|
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
|
PartageUrlPresenteur partageUrl = new PartageUrlPresenteur(new PartageUrlVue()); |
partageUrl.go(vue.getZonePartageUrl()); |
|
gererProtocoles(); |
} |
|
protected void gererProtocoles() { |
//FIXME : ne doit pas etre concret ici ? |
ProtocoleServiceConcret protocoleService = new ProtocoleServiceConcret(); |
if (CacheClient.getInstance().getProtocoleCourant() == null) { |
if (CacheClient.getInstance().getListeProtocoles() == null || CacheClient.getInstance().getListeProtocoles().size() == 0) { |
protocoleService.getProtocoles(new ProtocolesCallback() { |
|
@Override |
public void surRetour(ProtocoleServiceResultat protocolesRecus) { |
CacheClient.getInstance().setListeProtocoles(protocolesRecus.getProtocoles()); |
if (protocolesRecus.getProtocoles().size() > 0) { |
// 1 est censé etre "Capitalisation d'images" |
CacheClient.getInstance().setProtocoleCourant(protocolesRecus.getProtocoles().get(1)); |
} else { |
// TODO afficher message indiquant que la liste des |
// protocoles de votes n'est pas fourni |
} |
} |
}); |
} else { |
CacheClient.getInstance().setProtocoleCourant(CacheClient.getInstance().getListeProtocoles().get(0)); |
} |
} |
} |
|
@Override |
protected void gererEvenements() { |
// TODO Auto-generated method stub |
/* |
* vue.getLienAjoutObservation().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null); |
} |
}); |
*/ |
} |
} |