Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1938 → Rev 1939

/trunk/src/org/tela_botanica/client/Modele.java
194,6 → 194,7
public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, int start, int nbElements, Integer seqId) {
CollectionAsyncDao cDao = new CollectionAsyncDao(vueARafraichir);
//Coel.LogVersFirebug("> selectionnerCollection : [" + collectionId + "]");
cDao.selectionner(false, collectionId, nom, start, nbElements, seqId);
}
/trunk/src/org/tela_botanica/client/Mediateur.java
133,7 → 133,8
private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
private Sequenceur sequenceur = null;
private boolean premierChargement = true;
//private boolean premierChargement = true;
protected String codeMenuPrecedent = null;
public Mediateur() {
// Enregistrement du Médiateur dans le Registre
280,7 → 281,7
//+----------------------------------------------------------------------------------------------------------------+
// GESTION du MENU
//+----------------------------------------------------------------------------------------------------------------+
 
public void clicMenu(String codeMenuClique) {
boolean codeOk = true;
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {
308,10 → 309,11
// Sélection du menu
panneauNavigation.selectionMenu(codeMenuClique);
// Gestion de l'historique
if (requeteUrl == null) {
//Coel.LogVersFirebug("CC: [" + codeMenuClique + "], CP: [" + codeMenuPrecedent + "]");
if (codeMenuPrecedent != codeMenuClique) {
//Coel.LogVersFirebug("Création d'historique!");
History.newItem(codeMenuClique);
} else {
History.newItem(codeMenuClique+"?"+requeteUrl);
codeMenuPrecedent = codeMenuClique;
}
// Ajout des stats Google Analytics
Analytics.pageVisitee(codeMenuClique);
1767,27 → 1769,51
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de l'HISTORIQUE du navigateur
//+----------------------------------------------------------------------------------------------------------------+
/**
* Encore une bonne bouse sidérale codée avec les pieds dans le plâtre
* @param event
*/
@Override
public void onValueChange(ValueChangeEvent<String> event) {
String token = event.getValue();
if(premierChargement) {
if (token != null) {
if (token.lastIndexOf("?") == -1) {
this.requeteUrl = null;
this.clicMenu(token);
//Coel.LogVersFirebug("--changement d'URL; token : [" + token + "]");
if (token != null) {
// QUI met des "?" après des "#" ?? Méfions-nous tout de même, si ça
// y était, y a probablement une raison (mode naïf)
if (token.lastIndexOf("?") != -1) {
token = token.substring(0, token.lastIndexOf("?"));
//Coel.LogVersFirebug("token sans le ? : [" + token + "]");
}
// "chemin" : #TypeEntité/ID_Entité/action
String[] rondelles = token.split("/");
//Coel.LogVersFirebug(rondelles);
// type d'entité mentionné ?
if (rondelles != null && rondelles.length > 0) {
String typeEntite = rondelles[0];
// @TODO vérifier la validité du type, et par défaut ne rien faire
//Coel.LogVersFirebug("=> on va dans [" + typeEntite + "]");
codeMenuPrecedent = typeEntite;
// Si on a un ID d'entité à pointer
if (rondelles.length > 1) {
String idEntite = rondelles[1];
//Coel.LogVersFirebug("=> on sélectionne [" + idEntite + "]");
// On sélectionne l'entité demandée, si elle existe
this.clicMenu(typeEntite);
} else {
int indexDebutRequete = (token.lastIndexOf("?") + 1);
int indexFinPlace = token.lastIndexOf("?");
String place = token.substring(0, indexFinPlace);
requeteUrl = token.substring(indexDebutRequete);
Log.trace("URL Place : "+place);
Log.trace("URL Requete : "+requeteUrl);
analyseRequeteURL();
this.clicMenu(place);
// On se rend juste dans le menu du type d'entité demandé
this.clicMenu(typeEntite);
}
}
}
if (rondelles != null && rondelles.length > 2) {
String action = rondelles[2];
//Coel.LogVersFirebug("=> on exécute l'action [" + action + "]");
// On se rend dans le menu du type d'entité demandé
// -- bonjour l'angoisse pour faire ça (2/2)
// => attendre le callback des WS pour le faire :'(
}
this.requeteUrl = null; // à quoi sert ce truc ?
}
premierChargement = false;
}
private void analyseRequeteURL() {