/trunk/src/org/tela_botanica/del/client/modeles/InformationsRecherche.java |
---|
23,7 → 23,7 |
private String tag; |
private String auteur; |
private String idProtocoleSelectionne = null; |
private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI; |
83,7 → 83,15 |
} |
public void setCommune(String commune) { |
this.commune = commune; |
String[] tableauCommuneDpt = commune.split(" "); |
if (tableauCommuneDpt.length == 2) { |
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", ""); |
setDepartement(dpt); |
this.commune = tableauCommuneDpt[0]; |
} else { |
this.commune = commune; |
} |
} |
public String getFamille() { |
117,7 → 125,7 |
public void setTriParNbVotes(ModeTri triParNbVotes) { |
this.triParNbVotes = triParNbVotes; |
} |
public void setIdProtocoleSelectionne(String idProtocoleSelectionne) { |
this.idProtocoleSelectionne = idProtocoleSelectionne; |
} |
136,25 → 144,25 |
public String versChaineRequete() { |
String chaine = ""; |
chaine += estNonNull(rechercheLibre) ? "&recherche="+URL.encode(rechercheLibre) : "" ; |
chaine += estNonNull(departement) ? "&dpt="+URL.encode(departement) : "" ; |
chaine += estNonNull(taxon) ? "&taxon="+URL.encode(taxon) : "" ; |
chaine += estNonNull(genre) ? "&genre="+URL.encode(genre) : "" ; |
chaine += estNonNull(motClef) ? "&mot_cle="+URL.encode(motClef) : "" ; |
chaine += estNonNull(date) ? "&date="+URL.encode(date) : "" ; |
chaine += estNonNull(commune) ? "&commune="+URL.encode(commune) : "" ; |
chaine += estNonNull(famille) ? "&famille="+URL.encode(famille) : "" ; |
chaine += estNonNull(tag) ? "&tag="+URL.encode(tag) : "" ; |
chaine += estNonNull(auteur) ? "&auteur="+URL.encode(auteur) : "" ; |
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "" ; |
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=nb_votes" : "" ; |
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre="+triParDate : "" ; |
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre="+triParNbVotes : "" ; |
chaine += estNonNull(idProtocoleSelectionne) ? "&id_protocole="+idProtocoleSelectionne : "" ; |
chaine += estNonNull(rechercheLibre) ? "&recherche=" + URL.encode(rechercheLibre) : ""; |
chaine += estNonNull(departement) ? "&dpt=" + URL.encode(departement) : ""; |
chaine += estNonNull(taxon) ? "&taxon=" + URL.encode(taxon) : ""; |
chaine += estNonNull(genre) ? "&genre=" + URL.encode(genre) : ""; |
chaine += estNonNull(motClef) ? "&mot_cle=" + URL.encode(motClef) : ""; |
chaine += estNonNull(date) ? "&date=" + URL.encode(date) : ""; |
chaine += estNonNull(commune) ? "&commune=" + URL.encode(commune) : ""; |
chaine += estNonNull(famille) ? "&famille=" + URL.encode(famille) : ""; |
chaine += estNonNull(tag) ? "&tag=" + URL.encode(tag) : ""; |
chaine += estNonNull(auteur) ? "&auteur=" + URL.encode(auteur) : ""; |
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : ""; |
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=nb_votes" : ""; |
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : ""; |
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : ""; |
chaine += estNonNull(idProtocoleSelectionne) ? "&id_protocole=" + idProtocoleSelectionne : ""; |
return chaine; |
} |
private boolean estNonNull(String critere) { |
return critere != null && !critere.trim().isEmpty(); |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java |
---|
12,6 → 12,7 |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ImageServiceResultat; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
70,7 → 71,7 |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
vue.loadImage(image); |
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation()).go(vue.getMetadonnees()); |
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation(), ModeRecherche.MODE_IMAGE).go(vue.getMetadonnees()); |
loadValidationData(); |
gererEvenements(); |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java |
---|
8,6 → 8,7 |
import org.tela_botanica.del.client.composants.observations.ObservationImagesPresenteur; |
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
62,7 → 63,7 |
public void go(HasWidgets composite) { |
if (CacheClient.getInstance().getImageCourante() != null) { |
new MetadonneesPresenteur(new MetadonneesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getMetadonnees()); |
new MetadonneesPresenteur(new MetadonneesVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees()); |
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation()); |
new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote()); |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observations/ObservationPresenteur.java |
---|
9,6 → 9,7 |
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation; |
47,7 → 48,7 |
public void chargerObservation() { |
new ObservationImagesPresenteur(new ObservationImagesVue(), observation).go(vue.getImagesPanel()); |
new MetadonneesPresenteur(new MetadonneesVue(), observation).go(vue.getMetadonneesPanel()); |
new MetadonneesPresenteur(new MetadonneesVue(), observation, ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonneesPanel()); |
new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()).go(vue.getDeterminationsPanel()); |
gererEvenements(); |
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.ui.xml |
---|
10,43 → 10,43 |
<!-- Nom retenu --> |
<g:HTMLPanel ui:field="zoneNomRetenu"> |
<g:Label styleName="petit gris {style.labelNomRetenu}" text="{constants.nomRetenu}"/> |
<g:Label ui:field="nomRetenu" styleName="{style.nomRetenu}" /> |
<g:Hyperlink ui:field="nomRetenu" styleName="{style.nomRetenu}" /> |
</g:HTMLPanel> |
<!-- Nom commun --> |
<g:HTMLPanel ui:field="zoneNomCommun"> |
<g:Label styleName="petit gris" text="{constants.nomCommun}"/> |
<g:Label ui:field="nomCommun" /> |
<g:Hyperlink ui:field="nomCommun" /> |
</g:HTMLPanel> |
<!-- Famille --> |
<g:HTMLPanel ui:field="zoneFamille" styleName="{style.zoneFamille}"> |
<g:Label styleName="petit gris" text="{constants.famille}"/> |
<g:Label ui:field="famille" /> |
<g:Hyperlink ui:field="famille" /> |
</g:HTMLPanel> |
<!-- Lieu --> |
<g:HTMLPanel ui:field="zoneLocalite" styleName="{style.zoneLocalite}"> |
<g:Label styleName="petit gris" text="{constants.localite}"/> |
<g:Label ui:field="localite" /> |
<g:Hyperlink ui:field="localite" /> |
</g:HTMLPanel> |
<!-- Lieu-dit --> |
<g:HTMLPanel ui:field="zoneLieuDit" styleName="{style.zoneLieuDit}"> |
<g:Label styleName="petit gris" text="{constants.lieuDit}"/> |
<g:Label ui:field="lieuDit" /> |
<g:Hyperlink ui:field="lieuDit" /> |
</g:HTMLPanel> |
<!-- Milieu --> |
<g:HTMLPanel ui:field="zoneMilieu" styleName="{style.zoneMilieu}"> |
<g:Label styleName="petit gris" text="{constants.milieu}"/> |
<g:Label ui:field="milieu" /> |
<g:Hyperlink ui:field="milieu" /> |
</g:HTMLPanel> |
<!-- Commentaire --> |
<g:HTMLPanel ui:field="zoneCommentaire" styleName="{style.zoneCommentaire}"> |
<g:Label styleName="petit gris" text="{constants.commentaire}"/> |
<g:Label ui:field="commentaire" /> |
<g:Hyperlink ui:field="commentaire" /> |
</g:HTMLPanel> |
<!-- Date du relevé --> |
58,7 → 58,7 |
<!-- Publié par --> |
<g:HTMLPanel ui:field="zoneAuteur" styleName="{style.zoneAuteur}"> |
<g:Label styleName="petit gris" text="{constants.auteur}"/> |
<g:Label ui:field="auteur" /> |
<g:Hyperlink ui:field="auteur" /> |
</g:HTMLPanel> |
<!-- Date de transmission --> |
70,9 → 70,9 |
<!-- Mots-clés/Tag --> |
<g:HTMLPanel ui:field="zoneMotsClefs"> |
<g:Label styleName="petit gris" text="{constants.motsClefs}"/> |
<g:Label ui:field="motsClefs" /> |
<g:Hyperlink ui:field="motsClefs" /> |
</g:HTMLPanel> |
<g:Label ui:field="numNomenclatural" /> |
<g:Hyperlink ui:field="numNomenclatural" /> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesPresenteur.java |
---|
1,8 → 1,17 |
package org.tela_botanica.del.client.composants.metadonnees; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.detailsimage.EvenementRechercheImage; |
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation; |
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.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
12,6 → 21,8 |
public abstract interface Vue extends IsWidget { |
public HasText getNomRetenu(); |
public HasClickHandlers getLienNomRetenu(); |
public HasText getNomCommun(); |
public HasText getFamille(); |
33,13 → 44,37 |
public HasText getNumNomenclatural(); |
public HasText getDateReleve(); |
public HasClickHandlers getLienFamille(); |
public HasClickHandlers getLienAuteur(); |
public HasClickHandlers getLienDateTransmission(); |
public HasClickHandlers getLienDateReleve(); |
public HasClickHandlers getLienLocalite(); |
public HasClickHandlers getLienMotsClefs(); |
public HasClickHandlers getLienNumNomenclatural(); |
public HasClickHandlers getLienNomCommun(); |
public HasClickHandlers getLienLieuDit(); |
public HasClickHandlers getLienMilieu(); |
public HasClickHandlers getLienCommentaire(); |
} |
private Vue vue; |
private Observation observation; |
private ModeRecherche modeRecherche; |
public MetadonneesPresenteur(Vue vue, Observation observation) { |
public MetadonneesPresenteur(Vue vue, Observation observation, ModeRecherche modeRecherche) { |
this.vue = vue; |
this.modeRecherche = modeRecherche; |
setObservation(observation); |
} |
64,11 → 99,138 |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
chargerMetaDonnees(); |
gererEvenements(); |
} |
@Override |
protected void gererEvenements() { |
// TODO Auto-generated method stub |
vue.getLienAuteur().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setAuteur(vue.getAuteur().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienDateReleve().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setDate(vue.getDateReleve().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienDateTransmission().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setDate(vue.getDateReleve().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienFamille().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setFamille(vue.getFamille().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienLieuDit().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setCommune(vue.getLieuDit().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienLocalite().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setCommune(vue.getLocalite().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienMotsClefs().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setMotClef(vue.getMotsClefs().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienNomCommun().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setRechercheLibre(vue.getNomCommun().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienNomRetenu().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setRechercheLibre(vue.getNomRetenu().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienMilieu().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setRechercheLibre(vue.getMilieu().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
vue.getLienCommentaire().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent arg0) { |
InformationsRecherche informationsRecherche = new InformationsRecherche(); |
informationsRecherche.setRechercheLibre(vue.getCommentaire().getText()); |
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche); |
} |
}); |
} |
public void setInfosRechercheEnCacheEtLancerEvenement(InformationsRecherche informationsRecherche) { |
switch (modeRecherche) { |
case MODE_IMAGE: |
CacheClient.getInstance().setInformationsRechercheImage(informationsRecherche); |
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage()); |
break; |
case MODE_OBSERVATION: |
CacheClient.getInstance().setInformationsRechercheObservation(informationsRecherche); |
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation()); |
default: |
break; |
} |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.java |
---|
1,10 → 1,12 |
package org.tela_botanica.del.client.composants.metadonnees; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
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.HasText; |
import com.google.gwt.user.client.ui.Hyperlink; |
import com.google.gwt.user.client.ui.InlineLabel; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Widget; |
13,44 → 15,46 |
// Gestion d'UiBinder |
interface Binder extends UiBinder<Widget, MetadonneesVue> { |
} |
private static Binder binder = GWT.create(Binder.class); |
@UiField Label nomRetenu, famille, auteur, localite, motsClefs, numNomenclatural, nomCommun, lieuDit, commentaire, milieu; |
@UiField InlineLabel dateReleve, dateTransmission; |
@UiField |
Hyperlink nomRetenu, famille, auteur, localite, motsClefs, numNomenclatural, nomCommun, lieuDit, commentaire, milieu; |
@UiField |
InlineLabel dateReleve, dateTransmission; |
public MetadonneesVue() { |
initWidget(binder.createAndBindUi(this)); |
} |
public HasText getNomRetenu() { |
return this.nomRetenu; |
} |
public HasText getFamille() { |
return this.famille; |
} |
public HasText getAuteur() { |
return this.auteur; |
} |
public HasText getDateTransmission() { |
return this.dateTransmission; |
} |
public HasText getDateReleve() { |
return this.dateReleve; |
} |
public HasText getLocalite() { |
return this.localite; |
} |
public HasText getMotsClefs() { |
return this.motsClefs; |
} |
public HasText getNumNomenclatural() { |
return this.numNomenclatural; |
} |
70,5 → 74,54 |
public HasText getCommentaire() { |
return commentaire; |
} |
@Override |
public HasClickHandlers getLienNomRetenu() { |
return nomRetenu; |
} |
public HasClickHandlers getLienFamille() { |
return this.famille; |
} |
public HasClickHandlers getLienAuteur() { |
return this.auteur; |
} |
public HasClickHandlers getLienDateTransmission() { |
return this.dateTransmission; |
} |
public HasClickHandlers getLienDateReleve() { |
return this.dateReleve; |
} |
public HasClickHandlers getLienLocalite() { |
return this.localite; |
} |
public HasClickHandlers getLienMotsClefs() { |
return this.motsClefs; |
} |
public HasClickHandlers getLienNumNomenclatural() { |
return this.numNomenclatural; |
} |
public HasClickHandlers getLienNomCommun() { |
return nomCommun; |
} |
public HasClickHandlers getLienLieuDit() { |
return lieuDit; |
} |
public HasClickHandlers getLienMilieu() { |
return milieu; |
} |
public HasClickHandlers getLienCommentaire() { |
return commentaire; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherchePresenteur.java |
---|
127,12 → 127,9 |
@Override |
protected void surSelectionSuggestion(String suggestion) { |
String[] tableauCommuneDpt = suggestion.split(" "); |
if(tableauCommuneDpt.length == 2) { |
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", ""); |
getVue().setValeurDepartement(dpt); |
setValeur(tableauCommuneDpt[0]); |
} |
collecterInfosRecherche(); |
setValeur(getInformationsRechercheEnCache().getCommune()); |
vue.setValeurDepartement(getInformationsRechercheEnCache().getDepartement()); |
} |
@Override |
274,6 → 271,7 |
InformationsRecherche informationsRecherche = getInformationsRechercheEnCache(); |
if (informationsRecherche != null) { |
completionTaxonsPresenteur.setValeur(informationsRecherche.getTaxon()); |
completionCommunesPresenteur.setValeur(informationsRecherche.getCommune()); |
vue.chargerValeursRecherchePrecedente(informationsRecherche); |
} |
lancerRecherche(); |