I could trace my problem to a recent change in wicket-ajax.js. In the defination of processNext, it used to be that the run was called on a timeout like window.setTimeout(run, 1);. Now this is only called for isKHTML, and there is a direct call to run() otherwise. This for some reason gave the recursion error for me. When I reverted this line and use the timeout version, the recursion error disappeared. I am not sure about the big picture of what's going on, but that gave me a dirty fix for now.
- Samyem samyem wrote: > > Same here. I am getting too much recursion in places I didn't have problem > earlier as well. Looking at the generated source, it is clear that the > java script gets included more than once, not just once in the header. > > - Samyem > > > Pierre-Yves Saumont wrote: >> >> I am afraid there is still a problem. I tested the fix in the quickstart >> I had made and it worked fine. However, in my application, selecting a >> date in the datepicker cause a Javascript error. FF reports this error >> as: >> >> Erreur : too much recursion >> Fichier source : >> http://localhost:8080/ceagrap/app/resources/wicket.extensions.markup.html.datepicker.DatePicker/calendar.js >> Ligne : 1796 >> >> Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; >> Date.prototype.setFullYear = function(y) { >> var d = new Date(this); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< line 1796 >> d.__msh_oldSetFullYear(y); >> if (d.getMonth() != this.getMonth()) >> this.setDate(28); >> this.__msh_oldSetFullYear(y); >> }; >> >> In IE6, the error message is "not enough stack space". The same line >> number is reported, but the next line is highlighted: >> >> Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; >> Date.prototype.setFullYear = function(y) { >> var d = new Date(this); >> d.__msh_oldSetFullYear(y); <<<<<<<<<<<<<<<<<<<<<<<<<<< line 1796 >> if (d.getMonth() != this.getMonth()) >> this.setDate(28); >> this.__msh_oldSetFullYear(y); >> }; >> >> If I reload the page, the error disapears. >> >> Pierre-Yves >> >> >> Matej Knopp a ?crit : >>> Thanks for fixed files, I've already commited those. >>> >>> -Matej >>> >>> Pierre-Yves Saumont wrote: >>>> Now it seems to work fine provided the locale switching is made >>>> through reloading the page and not through Ajax. (I enclosed the >>>> modified french scripts, in utf8 and iso.) >>>> >>>> If switching is made through Ajax, it works much better than it did >>>> before. If the datepicker is visible when switching, switching works >>>> fine. If the datepicker is not visible when switching, and then is is >>>> loaded through Ajax, it does not always acknowledge the switch. >>>> >>>> But the worst problem is that reloading the page after a locale switch >>>> (which before made the datepicker to swith to the new locale) now >>>> cause an exception: >>>> >>>> Root cause:java.lang.IllegalStateException: Cannot remove >>>> [MarkupContainer [Component id = 6, page = <No Page>, path = >>>> 6.Loop$LoopItem]] from null parent! at >>>> wicket.Component.remove(Component.java:1475) at >>>> wicket.version.undo.Add.undo(Add.java:81) at >>>> wicket.version.undo.ChangeList.undo(ChangeList.java:93) at >>>> wicket.version.undo.UndoPageVersionManager.undo(UndoPageVersionManager.java:217) >>>> >>>> at >>>> wicket.version.undo.UndoPageVersionManager.getVersion(UndoPageVersionManager.java:167) >>>> >>>> >>>> >>>> I also somtime get this exception: >>>> >>>> java.lang.NullPointerException >>>> at wicket.MarkupFragmentFinder.find(MarkupFragmentFinder.java:76) >>>> at wicket.Component.renderComponent(Component.java:1599) >>>> at >>>> wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:474) >>>> >>>> >>>> >>>> However, having it working with full page reload is a very good point. >>>> I think it will be enough >>>> >>>> >>>> Pierre-Yves >>>> >>>> Matej Knopp a ?crit : >>>>> You won't find it there. It's wicket-1.x (and trunk). >>>>> >>>>> 1.2.2 is release. Current branch for 1.2 is under 1.x >>>>> >>>>> -Matej >>>>> >>>>> Pierre-Yves Saumont wrote: >>>>>> I can't find it in releases/wicket-1.2.2, only in trunk, but my app >>>>>> does not work with 2.0 :-( >>>>>> >>>>>> Pierre-Yves >>>>>> >>>>>> Matej Knopp a ?crit : >>>>>>> Sorry for ambiguity. The fix should be already in. >>>>>>> >>>>>>> -Matej >>>>>>> >>>>>>> Pierre-Yves Saumont wrote: >>>>>>>> What should already be in? Is it your fix? Or are you talking >>>>>>>> about the edited file I sent to the list few days ago? This is no >>>>>>>> complete since at that time I had not noticed the tuesday error! >>>>>>>> >>>>>>>> Pierre-Yves >>>>>>>> >>>>>>>> Matej Knopp a ?crit : >>>>>>>>> btw. it should be already in. >>>>>>>>> >>>>>>>>> Pierre-Yves Saumont wrote: >>>>>>>>>> Hi Matej, >>>>>>>>>> >>>>>>>>>> Of course I will test it as soon as you commit it. BTW, there >>>>>>>>>> are plenty of typos and spelling mistakes in the french script, >>>>>>>>>> and even an error in the abreviated day names (it says monday, >>>>>>>>>> tuesday, tuesday, thursday and there is no wednesday!). Do you >>>>>>>>>> want me to send you an edited file? >>>>>>>>>> >>>>>>>>>> Pierre-Yves >>>>>>>>>> >>>>>>>>>> Matej Knopp a ?crit : >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I'm working on the date picker encoding problem. What I'll >>>>>>>>>>> probably do is to convert all non-unicode (latin1, ...) date >>>>>>>>>>> picker locale strings to utf-8 and add charset="utf-8" to the >>>>>>>>>>> <script element that includes the script. >>>>>>>>>>> >>>>>>>>>>> This should sove the problem, as xmlhttprequest (used to load >>>>>>>>>>> script during ajax header contribution) treats the response as >>>>>>>>>>> utf-8. And the charset in script that should ensure that during >>>>>>>>>>> "regular" header contribution the script will be loaded with >>>>>>>>>>> the correct locale. I'll be commiting soon, would you mind >>>>>>>>>>> testing if it works for you? >>>>>>>>>>> >>>>>>>>>>> -Matej >>>>>>>>>>> >>>>>>>>>>> Pierre-Yves Saumont wrote: >>>>>>>>>>>> Hi Eelco, >>>>>>>>>>>> >>>>>>>>>>>> I did not feel irritated by your answers and I apologize for >>>>>>>>>>>> having let you think I was. I understand perfectly your >>>>>>>>>>>> position and I acknowledge the immense amount of work there is >>>>>>>>>>>> behind Wicket and I want to thank every one working on it for >>>>>>>>>>>> making such a smart framework available. >>>>>>>>>>>> >>>>>>>>>>>> I am building a demo/prototype application for a big french >>>>>>>>>>>> administration and I want to convince them that they should >>>>>>>>>>>> add Wicket to the list of their accepted technologies. That's >>>>>>>>>>>> why I need features that are 100% functionnal. If a feature is >>>>>>>>>>>> only 99% functionnal, it's probably better not to mention it >>>>>>>>>>>> because somebody will certainly pinpoint the 1% that is >>>>>>>>>>>> causing problem, making others forget about the working 99%. >>>>>>>>>>>> >>>>>>>>>>>> So, what I am trying to do is helping to find the cause of the >>>>>>>>>>>> problem and (may be) a solution. At this time, I am using a >>>>>>>>>>>> normal link to switch locales and I have removed all accented >>>>>>>>>>>> characters in the datapicker french strings and saved the file >>>>>>>>>>>> in ascii. I am working to find on a better workaround. >>>>>>>>>>>> >>>>>>>>>>>> Regarding UTF8, this is (in my opinion) not a good solution. >>>>>>>>>>>> AFAIK, it as been designed to suit the needs of english >>>>>>>>>>>> language applications where only a few exotic foreign >>>>>>>>>>>> characters have to be usable. It's main advantage is that the >>>>>>>>>>>> data is nearly the same size as ascci for this kind of use. I >>>>>>>>>>>> think UTF16 is a much better solution, even if it is not 100% >>>>>>>>>>>> perfect since it can't represent all characters needed in all >>>>>>>>>>>> languages. Next UNICODE encoding will be 32 bits, which will >>>>>>>>>>>> be enough for all characters of all languages in the galaxy. >>>>>>>>>>>> We will then have to design an extension for the rest of the >>>>>>>>>>>> universe ;-) >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> >>>>>>>>>>>> Pierre-Yves >>>>>>>>>>>> >>>>>>>>>>>> Eelco Hillenius a ?crit : >>>>>>>>>>>>>> It is the same kind of problem we have with character >>>>>>>>>>>>>> encoding. Every >>>>>>>>>>>>>> time someone has a problem with encoding, the answer can be >>>>>>>>>>>>>> "use XXX >>>>>>>>>>>>>> encoding for all and there will be no problem". This is >>>>>>>>>>>>>> false AND >>>>>>>>>>>>>> irrelevant. >>>>>>>>>>>>> Well, I guess we hoped that UTF-8 would just work for >>>>>>>>>>>>> everyone. It's >>>>>>>>>>>>> certainly advertised as that. But the message comes across, >>>>>>>>>>>>> and the >>>>>>>>>>>>> more reports we have that something is broken, the harder >>>>>>>>>>>>> we'll work >>>>>>>>>>>>> on it. It's just not all easy, and some of the bugs we are >>>>>>>>>>>>> encountering lately (like a problem with file descriptors) >>>>>>>>>>>>> were not >>>>>>>>>>>>> our fault in the first place. We're not even sure the encoding >>>>>>>>>>>>> problems are. But the more people that actually use those >>>>>>>>>>>>> encodings >>>>>>>>>>>>> can help us, possibly by supplying fixes/ solutions, the >>>>>>>>>>>>> better. >>>>>>>>>>>>> >>>>>>>>>>>>>> It is irrelevant because the question is "how to use this >>>>>>>>>>>>>> functionnality" and not "how to do without it". >>>>>>>>>>>>> Yes, you are right. You have to understand though that a >>>>>>>>>>>>> framework >>>>>>>>>>>>> can't fix every possible problem in the world. Every time we >>>>>>>>>>>>> add a >>>>>>>>>>>>> feature, there's an open door for 10 additional ones. That >>>>>>>>>>>>> doesn't >>>>>>>>>>>>> mean we don't want to add them, but maybe not now, or we need >>>>>>>>>>>>> to be >>>>>>>>>>>>> convinced about the urgency of the problem. >>>>>>>>>>>>> >>>>>>>>>>>>>> It is false because it does not solve the problem. In the >>>>>>>>>>>>>> case of Ajax >>>>>>>>>>>>>> switching locale, remember the problem is updating the >>>>>>>>>>>>>> datepicker. If >>>>>>>>>>>>>> you switch the locale in a situation where no datepicker is >>>>>>>>>>>>>> displayed >>>>>>>>>>>>>> and then load a datepicker through Ajax, it is still broken. >>>>>>>>>>>>>> But of >>>>>>>>>>>>>> course, the solution is not to use Ajax. >>>>>>>>>>>>> Well we fixed header contribution through Ajax. It seems that >>>>>>>>>>>>> the >>>>>>>>>>>>> datepicker is the component from hell, as we're having all >>>>>>>>>>>>> kinds of >>>>>>>>>>>>> issues with it we don't have with other components. But Matej >>>>>>>>>>>>> and >>>>>>>>>>>>> others spent many of his free nights trying to fix it and >>>>>>>>>>>>> they have >>>>>>>>>>>>> been progressing very well. It's a pretty tough problem, >>>>>>>>>>>>> really. >>>>>>>>>>>>> >>>>>>>>>>>>>> Or a slightly better solution: >>>>>>>>>>>>>> do not use Ajax to switch locales AND do not use anything >>>>>>>>>>>>>> else than US >>>>>>>>>>>>>> ASCII in the datepicker labels. >>>>>>>>>>>>> I didn't get the datepicker labels. Anything that has to do >>>>>>>>>>>>> with the >>>>>>>>>>>>> JavaScript part that is faulty: I'm sorry but we can't do >>>>>>>>>>>>> much about >>>>>>>>>>>>> it as we adopted that component from another project >>>>>>>>>>>>> (jscalendar). >>>>>>>>>>>>> We're working on a replacement, and people can always create >>>>>>>>>>>>> their own >>>>>>>>>>>>> replacement too (for intance, look at >>>>>>>>>>>>> wicket-contrib-datepicker and >>>>>>>>>>>>> wicket-contrib-yui. >>>>>>>>>>>>> >>>>>>>>>>>>> I'm sorry you feel irritated by our answers. You are right >>>>>>>>>>>>> that >>>>>>>>>>>>> telling you "you can't do that" is not a very satisfying >>>>>>>>>>>>> answer. >>>>>>>>>>>>> Please understand that we are working our asses off in our >>>>>>>>>>>>> free time, >>>>>>>>>>>>> un-sponsored etc to make this framework as good as we can, as >>>>>>>>>>>>> fast as >>>>>>>>>>>>> we can. Keep those reports coming, and the best and fastest >>>>>>>>>>>>> way to get >>>>>>>>>>>>> a bug fixed is to give us a solution for fixing it. >>>>>>>>>>>>> >>>>>>>>>>>>> Cheers, >>>>>>>>>>>>> >>>>>>>>>>>>> Eelco >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> ------------------------------------------------------------------------- >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>>>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance >>>>>>>>>>>> to share your >>>>>>>>>>>> opinions on IT & business topics through brief surveys -- and >>>>>>>>>>>> earn cash >>>>>>>>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Wicket-user mailing list >>>>>>>>>>>> Wicket-user@lists.sourceforge.net >>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> ------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance >>>>>>>>>> to share your >>>>>>>>>> opinions on IT & business topics through brief surveys -- and >>>>>>>>>> earn cash >>>>>>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Wicket-user mailing list >>>>>>>>>> Wicket-user@lists.sourceforge.net >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------- >>>>>>>> >>>>>>>> >>>>>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>>>>>> share your >>>>>>>> opinions on IT & business topics through brief surveys -- and earn >>>>>>>> cash >>>>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Wicket-user mailing list >>>>>>>> Wicket-user@lists.sourceforge.net >>>>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> >>>>>> >>>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>>>> share your >>>>>> opinions on IT & business topics through brief surveys -- and earn >>>>>> cash >>>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Wicket-user mailing list >>>>>> Wicket-user@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user >>>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> ------------------------------------------------------------------------- >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share your >>>> opinions on IT & business topics through brief surveys -- and earn cash >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Wicket-user mailing list >>>> Wicket-user@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wicket-user >>> >>> >>> >>> >> >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share >> your >> opinions on IT & business topics through brief surveys -- and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Wicket-user mailing list >> Wicket-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wicket-user >> >> > > -- View this message in context: http://www.nabble.com/ajax-refresh-on-date-picker-tf2314518.html#a6557187 Sent from the Wicket - User mailing list archive at Nabble.com. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user