Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1466 → Rev 1467

/trunk/src/org/tela_botanica/del/client/vues/identiplante/moteur/MoteurIdentiplantePresenteur.java
74,6 → 74,7
 
public void chercherObservations() {
vue.getZoneResultats().clear();
CacheClient.getInstance().mettreAjourUrlCourante();
new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats());
}
 
83,7 → 84,7
@Override
public void onClick(ClickEvent event) {
CacheClient.getInstance().supprimerFiltreStatut();
CacheClient.getInstance().setFiltreStatut("tous");
CacheClient.getInstance().setPageCouranteRechercheObservations(1);
chercherObservations();
vue.setOngletToutActif();
/trunk/src/org/tela_botanica/del/client/vues/pictoflora/moteur/MoteurPictofloraPresenteur.java
153,6 → 153,7
}
vue.mettreAJourDescriptionProtocoleCourant(protocoleCourant);
CacheClient.getInstance().setProtocoleCourant(protocoleCourant);
CacheClient.getInstance().mettreAjourUrlCourante();
EvenementChangementProtocole evenement = new EvenementChangementProtocole(protocoleCourant);
BusEvenementiel.getInstance().fireEvent(evenement);
}
163,6 → 164,7
if (parametre != null) {
for (Protocole protocoleCourant : protocoles) {
if (parametre.equals(String.valueOf(protocoleCourant.getId()))) {
CacheClient.getInstance().mettreAjourUrlCourante();
CacheClient.getInstance().setProtocoleCourant(protocoleCourant);
}
}
193,6 → 195,7
 
public void chercherImages() {
vue.getZoneResultats().clear();
CacheClient.getInstance().mettreAjourUrlCourante();
new ResultatPictofloraPresenteur(new ImageServiceConcret(), new ProtocoleServiceConcret(), new ResultatPictofloraVue()).go(vue.getZoneResultats());
}
 
/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java
1,7 → 1,9
package org.tela_botanica.del.client.cache;
 
import java.util.Arrays;
import java.util.List;
 
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
9,6 → 11,8
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.Utilisateur;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Window.Location;
 
public class CacheClient {
34,6 → 38,10
private Utilisateur utilisateur;
private String pageCourante = home;
private String statut;
private String[] statutsPossibles = {ConstantesNavigation.PARAM_TYPE_TOUS,
ConstantesNavigation.PARAM_TYPE_A_DETERMINER,
ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION,
ConstantesNavigation.PARAM_TYPE_VALIDEES};
public void supprimerFiltreStatut() {
this.statut = null;
75,6 → 83,8
String tagDel = Location.getParameter("masque.tag_pictoflora");
String referentiel = Location.getParameter("masque.referentiel");
String statutParam = Location.getParameter("masque.type");
InformationsRecherche rechercheParArguments = new InformationsRecherche();
rechercheParArguments.setRechercheLibre(rechercheLibre);
rechercheParArguments.setFamille(famille);
89,6 → 99,7
rechercheParArguments.setMotClefCel(tagCel);
rechercheParArguments.setMotClefDel(tagDel);
}
rechercheParArguments.setMotClef(tag);
// si le référentiel est passé dans l'url alors il ne doit pas être modifiable
98,6 → 109,17
referentielNonModifiable = true;
}
if(Location.getParameterMap().size() == 0) {
// par défaut l'application s'ouvre sur l'onglet à déterminer
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
} else {
if(Arrays.asList(statutsPossibles).contains(statutParam)) {
statut = statutParam;
} else {
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
}
}
informationsRechercheImage = rechercheParArguments;
informationsRechercheObservation = rechercheParArguments;
}
243,4 → 265,65
public boolean getReferentielNonModifiable() {
return referentielNonModifiable;
}
public String genererUrlCourante() {
String url = Window.Location.getHref();
CacheClient cache = CacheClient.getInstance();
String arguments = "";
String argumentsRecherche = "";
if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
InformationsRecherche infoRecherche;
infoRecherche = cache.getInformationsRechercheImage();
argumentsRecherche = infoRecherche.versChaineRequete();
if(!GWT.isScript()) {
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
}
argumentsRecherche = (argumentsRecherche.isEmpty()) ? argumentsRecherche : "?" + argumentsRecherche;
arguments = argumentsRecherche + "#" + ConstantesNavigation.PAGE_RECHERCHE_IMAGES;
url = new Config().getUrl("del") + arguments;
 
if (CacheClient.getInstance().getProtocoleCourant() != null) {
url += "~"+String.valueOf(CacheClient.getInstance().getProtocoleCourant().getId());
}
} else if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) || cache.getPageCourante().equals("")) {
InformationsRecherche infoRecherche;
infoRecherche = cache.getInformationsRechercheObservation();
argumentsRecherche = "masque.type="+statut;
argumentsRecherche += "&"+infoRecherche.versChaineRequete();
if(!GWT.isScript()) {
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
}
arguments = "?"+argumentsRecherche + "#" + ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS;
url = new Config().getUrl("del") + arguments;
} else if (cache.getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION) || cache.getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
url = new Config().getUrl("del");
if(!GWT.isScript()) {
url += "?gwt.codesvr="+Location.getParameter("gwt.codesvr");
}
url += "#"+cache.getPageCourante();
}
// remplacements batards pour corriger l'url
// TODO: factoriser toute la fonction
url = url.replaceAll("&#", "#");
url = url.replaceAll("&&", "&");
url = url.replaceAll("\\?&", "?");
return url;
}
public void mettreAjourUrlCourante() {
mettreAJourUrlCouranteSansRecharger(genererUrlCourante());
}
private static native void mettreAJourUrlCouranteSansRecharger(String nouvelleUrl) /*-{
$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl);
}-*/;
}
/trunk/src/org/tela_botanica/del/client/services/rest/ObservationServiceConcret.java
34,7 → 34,7
private String assemblerChaineRequete(InformationsRecherche infos, int debut, int fin, String statut) {
 
String chaineRequete = "?navigation.depart=" + debut + "&navigation.limite=" + (fin - debut);
if (statut != null) {
if (statut != null && !statut.equals("tous")) {
chaineRequete += "&masque.type=" + statut;
}
chaineRequete+= infos.versChaineRequete();
/trunk/src/org/tela_botanica/del/client/gestionhistorique/ConstantesNavigation.java
7,9 → 7,13
public static final String PAGE_RECHERCHE_IMAGES = "page_recherche_images";
public static final String PICTOFLORA = "pictoflora";
public static final String PAGE_RECHERCHE_OBSERVATIONS = "page_recherche_observations";
public static final String PAGE_VALIDATION = "page_validation"; //pour identiplance
public static final String PAGE_VALIDATION = "page_validation"; //pour identiplante
public static final String PAGE_VALIDATION_PICTOFLORA = "pictoflora_page_validation";
public static final String PAGE_COMPARAISON_EFLORE = "page_comparaison_eflore";
public static final String PARAM_ID_OBSERVATION = "id_observation";
 
public static final String PARAM_TYPE_TOUS = "tous";
public static final String PARAM_TYPE_A_DETERMINER = "adeterminer";
public static final String PARAM_TYPE_EN_DISCUSSION = "endiscussion";
public static final String PARAM_TYPE_VALIDEES = "validees";
public static final String PARAM_TYPE_DEFAUT = PARAM_TYPE_A_DETERMINER;
}
/trunk/src/org/tela_botanica/del/client/gestionhistorique/GestionnaireHistorique.java
20,7 → 20,6
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.RootPanel;
 
69,8 → 68,7
//3. gérer l'entete
EntetePresenteur entetePresenteur = new EntetePresenteur(new EnteteVue(titre));
entetePresenteur.go(zoneEntete);
//Actions en fonction de la valeur de l'évènement
if (eventValue.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
cache.setHome(ConstantesNavigation.PAGE_RECHERCHE_IMAGES);
98,9 → 96,10
else{
lancerMoteurRechercheObservation(contenu);
}
CacheClient.getInstance().mettreAjourUrlCourante();
}
/**
* Afficher ler titre Identiplance
* */
/trunk/src/org/tela_botanica/del/client/composants/partageurl/PartageUrlPresenteur.java
1,14 → 1,10
package org.tela_botanica.del.client.composants.partageurl;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
 
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.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
45,7 → 41,7
vue.getBoutonPartage().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
String url = genererUrl();
String url = CacheClient.getInstance().genererUrlCourante();
vue.setUrl(url);
vue.afficherFormulaire();
}
52,39 → 48,6
});
}
 
public String genererUrl() {
String url = Window.Location.getHref();
CacheClient cache = CacheClient.getInstance();
String arguments = "";
if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
InformationsRecherche infoRecherche;
infoRecherche = cache.getInformationsRechercheImage();
arguments = infoRecherche.versChaineRequete() + "#" + ConstantesNavigation.PAGE_RECHERCHE_IMAGES;
// Ajout du protocole
String protocole = "~";
if (CacheClient.getInstance().getProtocoleCourant() != null) {
protocole += String.valueOf(CacheClient.getInstance().getProtocoleCourant().getId());
}
url = new Config().getUrl("del") + "?" + arguments;
if (protocole != "~") {
url += protocole;
}
} else if (cache.getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) || cache.getPageCourante().equals("")) {
InformationsRecherche infoRecherche;
infoRecherche = cache.getInformationsRechercheObservation();
arguments = infoRecherche.versChaineRequete() + "#" + ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS;
url = new Config().getUrl("del") + "?" + arguments;
} else {
url = Window.Location.getHref();
}
// remplacement batard pour corriger l'url
// TODO: factoriser toute la fonction
url = url.replaceAll("\\?&", "?");
return url;
}
public void go(HasWidgets composite) {
vue.ajouterVue(composite);