Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2053 → Rev 2054

/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java
7,6 → 7,8
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.ActiviteUtilisateur;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
14,6 → 16,8
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur;
import org.tela_botanica.del.client.services.rest.ObservationService;
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ActiviteUtilisateurCallback;
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue;
 
20,6 → 24,7
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
62,6 → 67,7
}
 
private Vue vue;
private Timer timerRequeteActiviteUtilisateur = null;
 
public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
this.vue = vue;
73,7 → 79,7
ajouterMoteurRechercheAvancee();
gererEvenements();
gererAffichageOngletMonActivite();
gererTimerRequeteActiviteUtilisateur();
}
 
private void gererAffichageOngletMonActivite() {
87,8 → 93,9
if(!utilisateur.estIdentifie()) {
activerOnglet("tous");
} else {
if(utilisateur.getNbEvenementsInt() > 0) {
vue.afficherNbEvenements(utilisateur.getNbEvenements());
if(utilisateur.getActivite().getNbEvenementsInt() > 0) {
vue.afficherNbEvenements(utilisateur.getActivite().getNbEvenements());
CacheClient.ajouterAuTitreOngletNavigateur(" ("+utilisateur.getActivite().getNbEvenements()+")");
}
}
}
147,7 → 154,7
@Override
public void onClick(ClickEvent event) {
// S'il y a de nouveau évènements sur l'obs, on les affichera tous sur la même page
int nbEvents = CacheClient.getInstance().getUtilisateur().getNbEvenementsInt();
int nbEvents = CacheClient.getInstance().getUtilisateur().getActivite().getNbEvenementsInt();
if(CacheClient.getInstance().getPasPagination() < nbEvents) {
CacheClient.getInstance().setPasPagination(nbEvents);
}
154,10 → 161,36
activerOnglet("monactivite");
vue.cacherNbEvenements();
CacheClient.reinitialiserTitreOngletNavigateur();
}
});
}
public void gererTimerRequeteActiviteUtilisateur() {
timerRequeteActiviteUtilisateur = new Timer() {
@Override
public void run() {
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
if(utilisateur.estIdentifie()) {
UtilisateurServiceConcret serviceUtilisateur = new UtilisateurServiceConcret();
serviceUtilisateur.obtenirActiviteUtilisateur(utilisateur.getId(), new ActiviteUtilisateurCallback() {
@Override
public void surRetour(ActiviteUtilisateur activite) {
CacheClient.getInstance().getUtilisateur().setActivite(activite);
if(activite.getNbEvenementsInt() > 0) {
vue.afficherNbEvenements(activite.getNbEvenements());
CacheClient.ajouterAuTitreOngletNavigateur(" ("+activite.getNbEvenements()+")");
}
}
});
}
}
};
timerRequeteActiviteUtilisateur.scheduleRepeating(30000);
}
protected void activerOnglet(String onglet) {
CacheClient.getInstance().setFiltreStatut(onglet);
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/ResultatsIdentiplantePresenteur.java
7,6 → 7,7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.ActiviteUtilisateur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeTri;
14,6 → 15,8
import org.tela_botanica.del.client.modeles.ObservationServiceResultat;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.services.rest.ObservationService;
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ActiviteUtilisateurCallback;
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback;
import org.tela_botanica.del.client.utils.StringUtils;
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationPresenteur;
22,6 → 25,7
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
372,7 → 376,7
// S'il y a de nouveau évènements sur l'obs, elle doit être mise en valeur
// les x premieres obs sont affichées un peu différemment (où x est le nombre de nouveaux évènements)
int i = 0;
int nbEvents = CacheClient.getInstance().getUtilisateur().getNbEvenementsInt();
int nbEvents = CacheClient.getInstance().getUtilisateur().getActivite().getNbEvenementsInt();
for (Observation observation : resultats.getObservations()) {
List<Image> listeImagesObs = observation.getImages();
383,7 → 387,9
ObservationPresenteur presenteur = new ObservationPresenteur(new ObservationVue(), observation, imagePrincipale);
presenteur.go(vue.getZoneObservations());
if(nbEvents != 0 && i <= nbEvents) {
// La taille de la page s'étant adaptée au nombre de nouveaux évènements, on applique
// uniquement la mise en valeur sur la premiere
if(nbEvents != 0 && i < nbEvents && cache.getPageCouranteRechercheObservations() == 1) {
presenteur.mettreEnValeurEvenementsObs();
}
i++;