Well the fact that one definition refers to the same ognl instance being "ognl:components.autoPagingContent" commonsense tells me I shouldn't even should be mucking with this... it should update automatically. <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div>
<div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> The fact that this component's PropertySelect doesn't even survive a page refresh or post also tells me something isn't right. ?Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 15:26:21 -0500 more feedback... I tried this explicitlygetResponseBuilder().updateComponent("tableSizeSelect_0"); and it did not update the select dom with the expected value that lives in the other select dom getResponseBuilder().updateComponent("tableSizeSelect"); Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 15:16:20 -0500 Ok, I fixed the ID issue... But... it don't work. What don't Work? more than one DOM referencing one instance of a tapestry component/widget... namely a PropertySelect. Here is the proof. I did view-source fro the browser to look at the markup. markup...<select name="tableSizeSelect" id="tableSizeSelect">...<select name="tableSizeSelect_0" id="tableSizeSelect_0"> Now will HTML crap out if there exist multiple nodes of same ID. My problem is right above. Each select has been modeled with @Block here is it.. the declaration <span jwcid="[EMAIL PROTECTED]"> <table width="100%" border=1> <tr> <td width="25%" align="left" NOWRAP> <span jwcid="@Insert" value="Table Size"/> <select jwcid="[EMAIL PROTECTED]" model="ognl:tableSizeModel" value="ognl:tableSize" /> <span jwcid="@Insert" value="Paging Span"/> <select jwcid="[EMAIL PROTECTED]" model="ognl:pagingSpanModel" value="ognl:pagingSpan" /> </td> ...more cut out omitted code</span> -------- here is it.. the definition... <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /></div> -----Now referring back to top... the ID was taken on the first instance but animated by tapestry on the second instance. markup...<select name="tableSizeSelect" id="tableSizeSelect">...<select name="tableSizeSelect_0" id="tableSizeSelect_0"> ? So now I guess EVERYTHING on the second definition ([EMAIL PROTECTED]) will get all of it's ID's appended with an autoincrement. ? Here is the million dollar question... Given the following block of code... <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div jwcid="[EMAIL PROTECTED]"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /></div> How do I get headerSelect and footerSelect be updated against the same widget instance (which happens to be the ognl:components.autoPagingContent) ? I thought the above snippet was sufficient. It is obviously an ID issue. Clarification appreciated. Thanks in advance. Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 14:49:17 -0500 Well it's probably because the ID has changed now to id="[EMAIL PROTECTED]" OK, so I should use jwcid.Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: RE: bidirectional dom interfaceDate: Wed, 16 Jan 2008 10:44:32 -0500 Well I tried this in the page that contains the component... public void refresh() { getResponseBuilder().updateComponent("headerSelect"); getResponseBuilder().updateComponent("footerSelect"); } Since these are my dom references... <div id="headerSelect"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /> </div> <div id="galleryContent"> <div jwcid="@RenderBlock" block="ognl:components.collectionContent" /> </div> <div id="footerSelect"> <div jwcid="@RenderBlock" block="ognl:components.autoPagingContent" /></div> and this does not cut it. I am looking at cometd sample in tacos and it looks like I need to establish a scripting interface? Can anyone confirm? Is there an easier quicker way to update a dom referring to a widget from the server side?Thanks in advance...Best regards Ken in nashua From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: bidirectional dom interfaceDate: Wed, 16 Jan 2008 08:15:02 -0500 Hi Folks, I am impressed with this interface. @EventListener(events = { "onchange" }, targets = { "pagingSpanSelect" }, submitForm = "myForm", async = true) public void pagingSpanListener(IRequestCycle cycle) {} It provides a nice interface from DOM into server side. But How do I talk to my dom javascript node from here? Is there a way to reference the form and set a value of a dom node that models a tapestry widget ? Why do I need this? Well My tapestry widget is modeled to a dom node A. But I actually used the @Block declaration to model another dom B node to the same widget... When I change A, B stays the same. I need to update the other dom node when one changes. Thanks for any tips.Best regards Ken in nashua Get the power of Windows + Web with the new Windows Live. Get it now! Make distant family not so distant with Windows Vista® + Windows Live™. Start now! Get the power of Windows + Web with the new Windows Live. Get it now! Share life as it happens with the new Windows Live. Start sharing! Put your friends on the big screen with Windows Vista® + Windows Live™. Start now! _________________________________________________________________ Make distant family not so distant with Windows Vista® + Windows Live™. http://www.microsoft.com/windows/digitallife/keepintouch.mspx?ocid=TXT_TAGLM_CPC_VideoChat_distantfamily_012008