/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/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/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); |