Re: [Cantharella-devel] CR Réunion Cantharella du 21/03/2013- refresh asynchrone wicket
Le 29/03/2013 06:47, Adrien Cheype a écrit :
En effet, si on rajout un simple target.add(..) dans le onSubmit(...) de l'AjaxFallbackButton pour effectuer un rafraîchissement intermédiaire, il n'est pas pris en compte car le code entier fait partie d'une même requête Ajax. Il faut donc multiplier les requêtes Ajax envoyés par Wicket . Pour ce faire, le plus simple semble d'instancier un AbstractAjaxTimerBehavior qui enverrait tous les n secondes une requêtes et suivant si le traitement est en cours ou non, mettrait à jour différemment le message. J'ai essayer avec un AbstractAjaxTimerBehavior. Le problème est qu'une seule requete ajax par page est autorisée, et le clic sur le bouton bloque la file pendand la reindexation. Pourquoi tu dis que Wicket limite à une requête Ajax par page. Le
Re, Le 05/04/2013 00:58, Eric Chatellier a écrit : principe de ce behavior n'est pas d'envoyer tous les n secondes une requête Ajax ?! Si tu parle du fait qu'il est impossible d'instancier ce behavior dans la méthode onSubmit(...) (c'est peut-être le cas), j'imagine qu'il doit être possible de l'instancier en dehors de cette méthode tout en laissant son fonctionnement dépendre d'un état qui se modifie dans cette dernière...
Or dans ce cas où on a besoin que d'un rafraîchissement intermédiaire, il serait certainement plus adapté de demander explicitement qu'une requête AJAX. J'imagine que ça doit être faisable avec un AbstractDefaultAjaxBehavior, en s'inspirant de ce qui est fait dans un AjaxLazyLoadPanel <http://grepcode.com/file/repo1.maven.org/maven2/org.apache.wicket/wicket-extensions/6.6.0/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java>. Je ne trouve que peut d'exemple là dessus et ca m'à l'air plus adapté à un affichage différé au chargement d'une page. Ca n'a pas l'air facilement intégrable avec la requete Ajax lors du clic sur le bouton qui bloque l'appel de toute façon. L'AjaxLazyLoadPanel sert à différer un affichage mais j'imagine que l'AbstractDefaultAjaxBehavior doit pouvoir s'utiliser dans d'autres cas. Je n'ai pas trouvé non plus d'autres exemples d'utilisation sur le web et oui son utilisation semble assez compliqué. Y a-t-il un autre moyen de voir la chose ? Je ne sais pas, ce sont les deux idées qui me sont venues.
-- Adrien Cheype Ingénieur en Systèmes d'Information Service « Informatique Scientifique et Appui aux Partenaires du Sud » Direction du Système d'Information (DSI) http://www.ird.fr/dsi/ http://www.ird.fr/informatique-scientifique/ INSTITUT DE RECHERCHE POUR LE DEVELOPPEMENT BP A5 - 98848 Nouméa - Nouvelle Calédonie Tél. +687 260 789
participants (1)
-
Adrien Cheype