Zsombor & Andreas,
I ran the test and I'm trying to figure out whats happening to, but I guess
I need to know more about the internals of Tacos to do that ;).
I posted some of my doubts in other thread.
BTW, I found something wierd by inspecting the DOM after rendering the
response from the fourth listener on (BugRecursiveId), the AjaxFormHidden
element
its repeating inside itself.
<div id="AjaxForm_0hidden" style="display: none;"><div id="AjaxForm_0hidden"
style="display: none; background-image: none; background-color:
transparent;">
<input type="hidden" value="AjaxSubmit_1,AjaxSubmit_2" name="formids"/>
<input type="hidden" value="" name="submitmode"/>
<input type="hidden" value="" name="submitname"/>
</div>
</div>
I believe this happens anywhere an inner component of an AjaxForm its
updated (and not the form as a whole), I think the problem its in this
method:
/**
* Writes out all hidden values previously added by
* [EMAIL PROTECTED] #addHiddenValue(String, String, String)}. Writes a
<div>
* tag around [EMAIL PROTECTED] #writeHiddenFieldList()}. Overriden by
* [EMAIL PROTECTED] org.apache.tapestry.wml.GoFormSupportImpl}.
*/
protected void writeHiddenFields()
{
IMarkupWriter fwriter = getHiddenWriter();
boolean ajax = AjaxUtils.isAjaxCycle(cycle);
fwriter.begin("div");
fwriter.attribute("style", "display:none;");
fwriter.attribute("id", form.getName() + "hidden");
writeHiddenFieldList();
fwriter.end();
}
Such method needs to be able to distinguish when to add the hidden field div
element, I'll try to find a solution to this.
And finally I added the
maven-jetty-plugin<http://mojo.codehaus.org/jetty-maven-plugin/>to my
local tacos-demo
pom.xml, which I found very handy:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<connectors>
<connector
implementation="
org.mortbay.jetty.nio.SelectChannelConnector">
<port>8081</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
cheers,
Miguel
On 5/24/07, Zsombor <[EMAIL PROTECTED]> wrote:
On 5/23/07, Andreas Andreou <[EMAIL PROTECTED]> wrote:
>
> I just added a utility in AjaxUtils,
> boolean isAjaxComponent(IRequestCycle cycle, String compId)
>
> If you do boolean ajax = AjaxUtils.isAjaxComponent(cycle, thisId)
> instead of
> boolean ajax = AjaxUtils.isAjaxCycle(cycle)
> it should do the trick. BTW, I'm not committing this small change
> 'cause i'm too lazy right now to setup a test page for it :)
Ok, i'm not too lazy :-) I've managed to finalize the changes, it seems to
be working. However, there is one bug left behind, related to AjaxForm
rendering, which i cant fully understand.
If you try to test the issue at the bugs/BugRecursiveId.html page, the
first block works, but the second doesn't exhibits a strange behaviour,
somehow parts of the ajax response is rendered twice.
If you press the second 'Inner' button, the response contains " inner
called: inner called: Blabla 2" instead of " inner called: Blabla 2". Any
idea what happened?
BR,
Zsombor
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Tacos-devel mailing list
Tacos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tacos-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Tacos-devel mailing list
Tacos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tacos-devel