Subversion Repositories eFlore/Applications.del

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2049 → Rev 2050

/trunk/src/org/tela_botanica/del/client/i18n/Messages.properties
8,4 → 8,8
#formulaire proposition determination
propositionDejaEffectuee = Le taxon {0} a deja été proposé. Vous pouvez voter pour cette determination si vous êtes d accord avec cette proposition.
etVotesAnonymes = Et {0} votes anonymes
greetings = salut
greetings = salut
 
#évenements du flux personnel
nouveauxVotes = {0} nouveaux votes
nouveauxCommentaires = {0} nouveaux commentaires
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties
127,8 → 127,23
ongletTous = Tout
ongletADeterminer = A déterminer
ongletAConfirmer = A confirmer
ongletVerifiees = Vérifiées
ongletVerifiees = Vérifiées
 
# Evènements vue recherche observation, flux personnel
nouveauVote = 1 nouveau vote sur une proposition
nouveauCommentaire = 1 nouveau commentaire
nouvelleObservation = Vous avez publié cette observation
 
nouveauCommentaireVousAObsAutre = Vous avez commenté cette observation
nouveauCommentaireAutreSurObsVous = Un utilisateur a commenté votre observation
nouvellePropositionVousAObsAutre = Vous avez proposé un nom pour cette observation
nouvellePropositionAutreSurObsVous = Un utilisateur a proposé un nom pour votre observation
nouveauVoteVousAComAutre = Vous avez voté pour une proposition
nouveauVoteAutreSurComVous = Un utilisateur a voté pour votre proposition
nouvelleValidationVousAPropAutre = Vous avez validé une proposition
nouvelleValidationAutreAPropVous = Un utilisateur a validé votre proposition
 
 
# Vue determination
proposerSaDetermination = Proposer une détermination
infoProposerDetermination = Pour proposer une détermination, remplissez les champs ci-dessous et cliquez sur le bouton Proposer !
/trunk/src/org/tela_botanica/del/client/i18n/Messages.java
18,4 → 18,7
String etVotesAnonymes(String nbVotes);
String nouveauxVotes(String nbVotes);
String nouveauxCommentaires(String nbComms);
}
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java
1824,4 → 1824,103
@DefaultStringValue("Indeterminée")
@Key("indeterminee")
String indeterminee();
/**
* Translated ""1 nouveau vote sur une proposition""
*
* @return translated ""1 nouveau vote sur une proposition""
*/
@DefaultStringValue("1 nouveau vote sur une proposition")
@Key("nouveauVote")
String nouveauVote();
/**
* Translated "1 nouveau commentaire"
*
* @return translated "1 nouveau commentaire"
*/
@DefaultStringValue("1 nouveau commentaire")
@Key("nouveauCommentaire")
String nouveauCommentaire();
/**
* Translated "Nouvelle observation"
*
* @return translated "Nouvelle observation"
*/
@DefaultStringValue("Nouvelle observation")
@Key("nouvelleObservation")
String nouvelleObservation();
/**
* Translated "Vous avez commenté cette observation"
*
* @return translated "Vous avez commenté cette observation"
*/
@DefaultStringValue("Vous avez commenté cette observation")
@Key("nouveauCommentaireVousAObsAutre")
String nouveauCommentaireVousAObsAutre();
/**
* Translated "Un utilisateur a commenté votre observation"
*
* @return translated "Un utilisateur a commenté votre observation"
*/
@DefaultStringValue("Un utilisateur a commenté votre observation")
@Key("nouveauCommentaireAutreSurObsVous")
String nouveauCommentaireAutreSurObsVous();
/**
* Translated "Vous avez proposé un nom pour cette observation"
*
* @return translated "Vous avez proposé un nom pour cette observation"
*/
@DefaultStringValue("Vous avez proposé un nom pour cette observation")
@Key("nouvellePropositionVousAObsAutre")
String nouvellePropositionVousAObsAutre();
/**
* Translated "Un utilisateur a proposé un nom pour votre observation"
*
* @return translated "Un utilisateur a proposé un nom pour votre observation"
*/
@DefaultStringValue("Un utilisateur a proposé un nom pour votre observation")
@Key("nouvellePropositionAutreSurObsVous")
String nouvellePropositionAutreSurObsVous();
/**
* Translated "Vous avez voté pour une proposition"
*
* @return translated "Vous avez voté pour une proposition"
*/
@DefaultStringValue("Vous avez voté pour une proposition")
@Key("nouveauVoteVousAComAutre")
String nouveauVoteVousAComAutre();
/**
* Translated "Un utilisateur a voté pour votre proposition"
*
* @return translated "Un utilisateur a voté pour votre proposition"
*/
@DefaultStringValue("Un utilisateur a voté pour votre proposition")
@Key("nouveauVoteAutreSurComVous")
String nouveauVoteAutreSurComVous();
 
/**
* Translated "Vous avez validé une proposition"
*
* @return translated "Vous avez validé une proposition"
*/
@DefaultStringValue("Vous avez validé une proposition")
@Key("nouvelleValidationVousAPropAutre")
String nouvelleValidationVousAPropAutre();
 
/**
* Translated "Un utilisateur a validé votre proposition"
*
* @return translated "Un utilisateur a validé votre proposition"
*/
@DefaultStringValue("Un utilisateur a validé votre proposition")
@Key("nouvelleValidationAutreAPropVous")
String nouvelleValidationAutreAPropVous();
}
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java
105,6 → 105,16
observation.setNbCommentaires(nbCom);
observation.setMotsClefs(parserMotsCles(UtilitairesServiceResultat.getValeurOuVide(observationJson, "mots_cles_texte")));
JSONValue propositions = observationJson.get("commentaires");
JSONValue evenements = observationJson.get("evenements");
List<String> evenementsObs = new ArrayList<String>();
if (evenements != null && evenements.isArray() != null) {
JSONArray evenementsTab = evenements.isArray();
for (int i = 0; i < evenementsTab.size(); i++) {
evenementsObs.add(evenementsTab.get(i).isString().stringValue());
}
}
observation.setEvenementsAssocies(evenementsObs);
 
boolean creerPropositionAPartirObs = true;
boolean propositionInitialeExiste = false;
482,9 → 492,15
if (utilisateurJson.get("admin").isString() != null) {
adminNiveau = utilisateurJson.get("admin").isString().stringValue();
}
String nbEvtsUtilisateur = utilisateurJson.get("nb_evenements").isString().stringValue();
String dateDerniereConsultationEvts = utilisateurJson.get("date_derniere_consultation_evenements").isString().stringValue();
 
utilisateur = new Utilisateur(sessionId, idUtilisateur, prenomUtilisateur, nomUtilisateur,
courrielUtilisateur, mdpHashUtilisateur, adminNiveau);
utilisateur.setNbEvenements(nbEvtsUtilisateur);
utilisateur.setDateDerniereConsultationEvenements(dateDerniereConsultationEvts);
} else {
utilisateur = new Utilisateur(sessionId, idUtilisateur);
}
/trunk/src/org/tela_botanica/del/client/utils/StringUtils.java
1,5 → 1,7
package org.tela_botanica.del.client.utils;
 
import org.tela_botanica.del.client.i18n.I18n;
 
import com.google.gwt.i18n.client.NumberFormat;
 
public class StringUtils {
46,4 → 48,56
return NumberFormat.getFormat(patternNb.toString()).format(valeur);
}
public static String getCorrespondanceChaineEvenementObs(String evenement, int nb) {
String trad = "";
// Arghhhh pourquoi on ne peut pas faire de switch sur une string !!!!!!
// arggh arrrghghhhhhh
if(evenement.equals("nouveau_vote")) {
trad = nb > 1 ? I18n.getMessages().nouveauxVotes(nb+"") : I18n.getVocabulary().nouveauVote();
}
if(evenement.equals("nouveau_commentaire")) {
trad = nb > 1 ? I18n.getMessages().nouveauxCommentaires(nb+"") : I18n.getVocabulary().nouveauCommentaire();
}
if(evenement.equals("nouvelle_observation")) {
trad = I18n.getVocabulary().nouvelleObservation();
}
if(evenement.equals("nouveau_commentaire_vous_a_obs_autre")) {
trad = I18n.getVocabulary().nouveauCommentaireVousAObsAutre();
}
if(evenement.equals("nouveau_commentaire_autre_sur_obs_vous")) {
trad = I18n.getVocabulary().nouveauCommentaireAutreSurObsVous();
}
if(evenement.equals("nouvelle_proposition_vous_a_obs_autre")) {
trad = I18n.getVocabulary().nouvellePropositionVousAObsAutre();
}
if(evenement.equals("nouvelle_proposition_autre_sur_obs_vous")) {
trad = I18n.getVocabulary().nouvellePropositionAutreSurObsVous();
}
if(evenement.equals("nouveau_vote_vous_a_com_autre")) {
trad = I18n.getVocabulary().nouveauVoteVousAComAutre();
}
if(evenement.equals("nouveau_vote_autre_sur_com_vous")) {
trad = I18n.getVocabulary().nouveauVoteAutreSurComVous();
}
if(evenement.equals("nouvelle_validation_vous_a_prop_autre")) {
trad = I18n.getVocabulary().nouvelleValidationVousAPropAutre();
}
if(evenement.equals("nouvelle_validation_autre_sur_prop_vous")) {
trad = I18n.getVocabulary().nouvelleValidationAutreAPropVous();
}
return trad;
}
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/ResultatsIdentiplantePresenteur.java
6,13 → 6,16
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
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.Image;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeTri;
import org.tela_botanica.del.client.modeles.Observation;
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.async.ObservationsCallback;
import org.tela_botanica.del.client.utils.StringUtils;
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationPresenteur;
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationVue;
 
69,6 → 72,8
void setModeTriObservation(ModeTri mode);
 
void setModeTriNbCommentaires(ModeTri mode);
void afficherCacherZoneTri(boolean afficher);
}
 
private Vue vue;
126,7 → 131,7
* observations recues et lancer la recherche avec le service
* */
public void lancerRechercheEtCreerWidgetPagination() {
 
int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
int fin = cache.getPageCouranteRechercheObservations() * cache.getPasPagination();
 
361,6 → 366,14
vue.afficherElementsAucunResultatTrouve();
} else {
vue.afficherElementsResultatsTrouves();
// Si on consulte l'onglet mon activité, on cache le tri qui n'a pas de sens ici car c'est une timeline
vue.afficherCacherZoneTri(!cache.getFiltreStatut().equals(ConstantesNavigation.PARAM_TYPE_MONACTIVITE));
// 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();
for (Observation observation : resultats.getObservations()) {
List<Image> listeImagesObs = observation.getImages();
Image imagePrincipale = null;
369,6 → 382,11
}
ObservationPresenteur presenteur = new ObservationPresenteur(new ObservationVue(), observation, imagePrincipale);
presenteur.go(vue.getZoneObservations());
if(nbEvents != 0 && i <= nbEvents) {
presenteur.mettreEnValeurEvenementsObs();
}
i++;
}
}
CacheClient.getInstance().mettreAjourUrlCourante();
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/ResultatsIdentiplanteVue.java
89,6 → 89,10
zonePaginationBas.setVisible(true);
zoneTri.setVisible(true);
}
public void afficherCacherZoneTri(boolean afficher) {
zoneTri.setVisible(afficher);
}
 
public Button getTriParDateObservationAscendant() {
return triParDateObservationAscendant;
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/observation.css
98,4 → 98,12
}
.plusDeDetails {
width: 130px;
}
.evenements {
background-color: #eaedcd;
border: 1px solid #eaedcd;
border-radius: 5px;
margin-bottom: 3px;
padding: 4px;
font-size: 14px;
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationVue.ui.xml
9,6 → 9,7
<ui:style src="observation.css" />
<g:HTMLPanel styleName="{style.ligneObservation} limiteMin">
<g:Label styleName="{style.evenements}" ui:field="messageEvenements"></g:Label>
<g:HTMLPanel styleName="gauche ombre-faible arrondi {style.observation}">
<g:HTMLPanel styleName="colonne {style.colonneImages}">
<g:Label ui:field="nomEspece" styleName="{style.nomEspece}"></g:Label>
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationPresenteur.java
1,6 → 1,9
package org.tela_botanica.del.client.vues.identiplante.resultats.observations;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
27,9 → 30,12
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret;
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret;
import org.tela_botanica.del.client.utils.StringUtils;
import org.tela_botanica.del.client.vues.identiplante.resultats.observationdeterminations.ObservationDeterminationPresenteur;
import org.tela_botanica.del.client.vues.identiplante.resultats.observationdeterminations.ObservationDeterminationVue;
 
import com.gargoylesoftware.htmlunit.html.Util;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
56,6 → 62,12
public HasClickHandlers getBoutonAjoutCommentaire();
public HasClickHandlers getBoutonPlusDeDetails();
 
public void afficherEvenementsObservation(String evenementsObs);
 
public void cacherEvenementsObservation();
 
public void mettreEnValeurEvenementsObs();
}
 
private Vue vue;
82,9 → 94,47
observationDeterminationPresenteur.go(vue.getDeterminationsPanel());
vue.setNomEspece(observation.getNomRetenu());
vue.setNbCommentaires(observation.getNbCommentaires());
gererAffichageEvenementsObs();
gererEvenements();
}
 
private void gererAffichageEvenementsObs() {
if(!observation.getEvenementsAssocies().isEmpty()) {
Map<String, Integer> nbEventsParEvent = new HashMap<String, Integer>();
List<String> evts = observation.getEvenementsAssocies();
GWT.log("Evenements pour l'obs "+observation.getId());
GWT.log(observation.getEvenementsAssocies().size()+" evenements dans la liste");
for (Iterator<String> iterator = evts.iterator(); iterator.hasNext();) {
String evenement = iterator.next();
if(nbEventsParEvent.containsKey(evenement)) {
Integer nbEvent = nbEventsParEvent.get(evenement);
nbEvent++;
nbEventsParEvent.put(evenement, nbEvent);
GWT.log("ajout à l'évènement "+evenement+" "+(nbEvent));
} else {
GWT.log("nouvel évènement "+evenement);
nbEventsParEvent.put(evenement, 1);
}
GWT.log("vérif évenement "+evenement+" "+nbEventsParEvent.get(evenement));
}
StringBuilder stb = new StringBuilder();
for (Iterator<String> iterator = nbEventsParEvent.keySet().iterator(); iterator.hasNext();) {
String evtNom = (String) iterator.next();
stb.append(StringUtils.getCorrespondanceChaineEvenementObs(evtNom, nbEventsParEvent.get(evtNom)));
if(iterator.hasNext()) {
stb.append(", ");
}
}
vue.afficherEvenementsObservation(stb.toString());
} else {
vue.cacherEvenementsObservation();
}
}
 
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
}
148,4 → 198,8
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) {
observationDeterminationPresenteur.setPropositions(observation.getPropositionDeterminations());
}
 
public void mettreEnValeurEvenementsObs() {
vue.mettreEnValeurEvenementsObs();
}
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observations/ObservationVue.java
25,7 → 25,7
@UiField
Panel determinationsPanel, imagesPanel, metadonnees;
@UiField Label nomEspece;
@UiField Label nomEspece, messageEvenements;
 
public ObservationVue() {
78,4 → 78,18
boutonPlusDeDetails.setText(boutonPlusDeDetails.getText()+" ("+nbCommentaires+")");
}
 
@Override
public void afficherEvenementsObservation(String evenementsObs) {
messageEvenements.setText(evenementsObs);
messageEvenements.setVisible(true);
}
 
public void cacherEvenementsObservation() {
messageEvenements.setVisible(false);
}
 
@Override
public void mettreEnValeurEvenementsObs() {
messageEvenements.addStyleName("evenementsNouveaux");
}
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.ui.xml
19,6 → 19,8
<g:Label styleName="onglet" text="{constants.ongletAConfirmer}" ui:field="ongletAConfirmer"></g:Label>
<!-- terme Validées/Vérifiées sujet à changement, "Vérifiées" en texte, "Validées" partout ailleurs dans le code -->
<g:Label styleName="onglet" text="{constants.ongletVerifiees}" ui:field="ongletValidees"></g:Label>
<!-- terme Validées/Vérifiées sujet à changement, "Vérifiées" en texte, "Validées" partout ailleurs dans le code -->
<g:HTML styleName="onglet ongletMonActivite" text=" " ui:field="ongletMonActivite"></g:HTML>
</g:HTMLPanel>
<g:HTMLPanel>
<g:HTMLPanel ui:field="zoneResultats" />
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java
8,6 → 8,10
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.config.Config;
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;
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur;
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.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;
36,6 → 40,8
 
public HasClickHandlers getOngletValidees();
public HasClickHandlers getOngletMonActivite();
public void setOngletADeterminerActif();
public void setOngletToutActif();
43,7 → 49,16
public void setOngletAConfirmerActif();
 
public void setOngletValideesActif();
 
void afficherCacherOngletMonActivite(boolean afficher);
 
void setOngletMonActiviteActif();
 
void setOngletActif(String onglet);
 
public void afficherNbEvenements(String nbEvenements);
public void cacherNbEvenements();
}
 
private Vue vue;
57,9 → 72,29
composite.add(vue.asWidget());
ajouterMoteurRechercheAvancee();
gererEvenements();
gererAffichageOngletMonActivite();
}
 
private void gererAffichageOngletMonActivite() {
vue.afficherCacherOngletMonActivite(CacheClient.getInstance().getUtilisateur().estIdentifie());
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {
@Override
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
vue.afficherCacherOngletMonActivite(utilisateur.estIdentifie());
vue.cacherNbEvenements();
if(!utilisateur.estIdentifie()) {
activerOnglet("tous");
} else {
if(utilisateur.getNbEvenementsInt() > 0) {
vue.afficherNbEvenements(utilisateur.getNbEvenements());
}
}
}
});
}
 
protected void ajouterMoteurRechercheAvancee() {
MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
}, ModeRecherche.MODE_OBSERVATION) {
80,49 → 115,53
 
protected void gererEvenements() {
// Gestion du clic sur les onglets
vue.getOngletTout().addClickHandler(new ClickHandler() {
vue.getOngletTout().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
CacheClient.getInstance().setFiltreStatut("tous");
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletToutActif();
activerOnglet("tous");
}
});
vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
CacheClient.getInstance().setFiltreStatut("adeterminer");
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletADeterminerActif();
activerOnglet("adeterminer");
}
});
vue.getOngletAConfirmer().addClickHandler(new ClickHandler() {
vue.getOngletAConfirmer().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
CacheClient.getInstance().setFiltreStatut("aconfirmer");
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletAConfirmerActif();
activerOnglet("aconfirmer");
}
});
 
vue.getOngletValidees().addClickHandler(new ClickHandler() {
vue.getOngletValidees().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
CacheClient.getInstance().setFiltreStatut("validees");
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletValideesActif();
activerOnglet("validees");
}
});
vue.getOngletMonActivite().addClickHandler(new ClickHandler() {
@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();
if(CacheClient.getInstance().getPasPagination() < nbEvents) {
CacheClient.getInstance().setPasPagination(nbEvents);
}
activerOnglet("monactivite");
vue.cacherNbEvenements();
}
});
}
 
protected void activerOnglet(String onglet) {
CacheClient.getInstance().setFiltreStatut(onglet);
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletActif(onglet);
}
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplanteVue.java
7,6 → 7,8
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
25,6 → 27,9
 
@UiField
Label ongletTout, ongletADeterminer, ongletAConfirmer, ongletValidees;
@UiField
HTML ongletMonActivite;
 
public HasWidgets getZoneRecherche() {
return zoneRecherche;
59,8 → 64,18
public HasClickHandlers getOngletValidees() {
return ongletValidees;
}
@Override
public void afficherCacherOngletMonActivite(boolean afficher) {
ongletMonActivite.setVisible(afficher);
}
 
@Override
public HasClickHandlers getOngletMonActivite() {
return ongletMonActivite;
}
 
@Override
public void setOngletADeterminerActif() {
nettoyerOngletsActifs();
ongletADeterminer.addStyleName("onglet-actif");
84,24 → 99,48
ongletValidees.addStyleName("onglet-actif");
}
@Override
public void setOngletMonActiviteActif() {
nettoyerOngletsActifs();
ongletMonActivite.addStyleName("onglet-actif");
}
public void nettoyerOngletsActifs() {
ongletTout.removeStyleName("onglet-actif");
ongletADeterminer.removeStyleName("onglet-actif");
ongletAConfirmer.removeStyleName("onglet-actif");
ongletValidees.removeStyleName("onglet-actif");
ongletMonActivite.removeStyleName("onglet-actif");
}
public void mettreAJourOngletEnFonctionDuCache() {
String statut = CacheClient.getInstance().getFiltreStatut();
if (statut == null) {
@Override
public void setOngletActif(String onglet) {
if (onglet == null || onglet.equals("tous")) {
setOngletToutActif();
} else if (statut.equals("adeterminer")) {
} else if (onglet.equals("adeterminer")) {
setOngletADeterminerActif();
} else if (statut.equals("aconfirmer")) {
} else if (onglet.equals("aconfirmer")) {
setOngletAConfirmerActif();
} else if (statut.equals("validees")) {
} else if (onglet.equals("validees")) {
setOngletValideesActif();
} else if (onglet.equals("monactivite")) {
setOngletMonActiviteActif();
}
}
public void mettreAJourOngletEnFonctionDuCache() {
String statut = CacheClient.getInstance().getFiltreStatut();
setOngletActif(statut);
}
 
@Override
public void afficherNbEvenements(String nbEvenements) {
String HtmlIndication = "<div class=\"nbEvenementsMonActivite\">"+nbEvenements+"</div>";
ongletMonActivite.setHTML(HtmlIndication);
}
 
@Override
public void cacherNbEvenements() {
ongletMonActivite.setHTML("");
}
}
/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java
46,7 → 46,8
ConstantesNavigation.PARAM_TYPE_TOUS,
ConstantesNavigation.PARAM_TYPE_A_DETERMINER,
ConstantesNavigation.PARAM_TYPE_A_CONFIRMER,
ConstantesNavigation.PARAM_TYPE_VALIDEES
ConstantesNavigation.PARAM_TYPE_VALIDEES,
ConstantesNavigation.PARAM_TYPE_MONACTIVITE
};
private ModeTri modeTri = ModeTri.TRI_ASCENDANT;
/trunk/src/org/tela_botanica/del/client/gestionhistorique/ConstantesNavigation.java
10,4 → 10,5
public static final String PARAM_TYPE_A_CONFIRMER = "aconfirmer";
public static final String PARAM_TYPE_VALIDEES = "validees";
public static final String PARAM_TYPE_DEFAUT = PARAM_TYPE_A_DETERMINER;
public static final String PARAM_TYPE_MONACTIVITE = "monactivite";
}
/trunk/src/org/tela_botanica/del/client/modeles/Utilisateur.java
2,6 → 2,7
 
import java.util.HashMap;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.i18n.I18n;
 
import com.google.gwt.core.shared.GWT;
19,6 → 20,9
private boolean identifie = false;
private HashMap<String, String> preferences = null;
private String nbEvenements = "0";
private String dateDerniereConsultationEvenements = null;
public Utilisateur(String sessionId, String id) {
this.id = id;
this.sessionId = sessionId;
99,4 → 103,30
sessionId + "\n" + adminNiveau + "\n";
return utilisateur;
}
public String getNbEvenements() {
return nbEvenements;
}
public int getNbEvenementsInt() {
int nbEvents = 0;
try {
nbEvents = Integer.parseInt(nbEvenements);
} catch (Exception e) {
nbEvents = 0;
}
return nbEvents;
}
public void setNbEvenements(String nbEvenements) {
this.nbEvenements = nbEvenements;
}
public String getDateDerniereConsultationEvenements() {
return dateDerniereConsultationEvenements;
}
public void setDateDerniereConsultationEvenements(String dateDerniereConsultationEvenements) {
this.dateDerniereConsultationEvenements = dateDerniereConsultationEvenements;
}
}
/trunk/src/org/tela_botanica/del/client/modeles/Observation.java
4,6 → 4,7
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
public class Observation implements Serializable {
 
13,6 → 14,7
milieu, commentaire, dateReleve, station, referentiel, pays;
 
private List<String> motsClefs = new ArrayList<String>();
private List<String> evenements = new ArrayList<String>();
 
// les propositions sont une liste ordonnée qui contient soit des
// proposition de determinations, soit des commentaires
307,4 → 309,12
public void setPays(String pays) {
this.pays = pays;
}
public List<String> setEvenementsAssocies(List<String> evenements) {
return this.evenements = evenements;
}
public List<String> getEvenementsAssocies() {
return evenements;
}
}
/trunk/war/del.css
819,6 → 819,44
height: 100%
}
 
.ongletMonActivite {
background: url("./img/mon_flux.png") no-repeat scroll 50% 2px #C2C0AD;
width: 5px;
}
 
.ongletMonActivite:hover {
background: url("./img/mon_flux.png") no-repeat scroll 50% 2px #d0ccaa;
}
 
.ongletMonActivite.onglet-actif {
background: url("./img/mon_flux_actif.png") no-repeat scroll 10px 2px #FFFFFF;
width: 8px;
}
 
.nbEvenementsMonActivite {
background-color: #fd8c13;
border-radius: 8px;
display: inline;
font-weight: bold;
height: 18px;
left: 5px;
margin: auto;
padding-left: 6px;
padding-right: 5px;
padding-top: 1px;
position: relative;
top: -7px;
}
 
.onglet-actif .nbEvenementsMonActivite {
background: #d0ccaa;
color: #598000;
}
 
.evenementsNouveaux {
font-weight: bold;
}
 
/*+---------------------------------------------------------------------------------------------------------*/
/* ENTETE */
 
/trunk/war/img/mon_flux.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/war/img/mon_flux.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/trunk/war/img/mon_flux_actif.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/trunk/war/img/mon_flux_actif.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property