For information, with the help of people from the tapestry-jquery module,
the bug has been found.

It was located in the addScripts method of tapestry-jquery.js (v3.3.0) :
the server reply "inits" wasn't executed.

To resolve it, you can use tapestry-jquery v3.3.3.

2012/10/23 Thomas Cucchietti <thomas.cucchie...@gmail.com>

> I'm really disappointed, but i going to give up as it seems impossible to
> make it work using Tapestry "mechanics".
>
> I think that we have to manage everything using js : input validation /
> ajax form submission / zone update.
>
> For information, my goal was to "simulate" a navigation using a zone
> wrapped in a dialog component.
>
>
> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>
>> Still impossible to manage to have this zone update using the form inside
>> the zone.
>>
>> From the browser console, I can see that the content of the partial
>> render response contains what is needed for the zone to be updated :
>>
>> (...)
>>  "inits" : [    {      "formEventManager" : [        {          "formId" : 
>> "manageForm_13a8936acde",          "validate" : {            "submit" : 
>> true,            "blur" : true          }        }      ]    },    {      
>> "linkZone" : [        {          "linkId" : "manageForm_13a8936acde",        
>>   "url" : "/my/page/url.manageform",          "zoneId" : "zoneToRefresh"     
>>    }      ],
>> (...)
>>
>> But this doesn't seem to be used.
>>
>>
>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>>
>>> Hello Thiago,
>>>
>>> I did it by setting explicitely the "id" (on top of the "t:id")
>>> parameter of the form to "manageForm", but it keeps adding some random
>>> value at the end of this (for example "manageForm_13a88baf8ea").
>>>
>>> Something is missing for the clientid to be static?
>>>
>>>
>>> 2012/10/22 Thiago H de Paula Figueiredo <thiag...@gmail.com>
>>>
>>>> Or provide explicit static ids instead of letting them be autogenerated
>>>> by Tapestry.
>>>>
>>>>
>>>> On Mon, 22 Oct 2012 11:45:18 -0200, Thomas Cucchietti <
>>>> thomas.cucchie...@gmail.com> wrote:
>>>>
>>>>  I keep on trying a way to get this working.
>>>>>
>>>>> In a previous discussion (see the end of Christian's answer
>>>>> here<http://markmail.org/**thread/w6s3jtmwwfw6vfnx#query:**
>>>>> +page:1+mid:jbwboaocfw4lkjqj+**state:results<http://markmail.org/thread/w6s3jtmwwfw6vfnx#query:+page:1+mid:jbwboaocfw4lkjqj+state:results>
>>>>> >),
>>>>>
>>>>> a workaround for the null id could be the use of a HeartBeat to defer
>>>>> the
>>>>> evaluation of the client id value.
>>>>>
>>>>> had someone already given it a go?
>>>>>
>>>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>>>>>
>>>>>  I tried to manually link the zone to the form, but with no success.
>>>>>>
>>>>>>     @BeginRender
>>>>>>     void fixZoneAjaxSupport() {
>>>>>>         Link link = resources.createEventLink("**manualLinkToZone",
>>>>>> null);
>>>>>>         clientBehaviorSupport.**linkZone("manageForm",
>>>>>> "zoneToRefresh",
>>>>>> link);
>>>>>>     }
>>>>>>
>>>>>>
>>>>>> The "linkzone" in Tapestry.init() is updated and contains :
>>>>>>
>>>>>>     {
>>>>>>     "linkId" : "manageForm",
>>>>>>     "url" : "/my/url/to/page:**manualLinkToZone",
>>>>>>     "zoneId" : "zoneToRefresh"
>>>>>>     }
>>>>>>
>>>>>> However, as the manageForm has random generated number added to its
>>>>>> client
>>>>>> id, it won't be taken into account...
>>>>>>
>>>>>> Even if I inject the manageForm into my page, as it isn't initially
>>>>>> present in the page but only after a first zone update, it's null and
>>>>>> I
>>>>>> have no way to know the exact client id of my form.
>>>>>>
>>>>>> After some additional search (thanks markmail!), it seems that this
>>>>>> clientId will always be uniquefied as the form is contained in the
>>>>>> zone.
>>>>>>
>>>>>> Anybody has a clue on my first mail? or at least on the workaround I'm
>>>>>> trying to find?
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>>
>>>>>> 2012/10/22 Thomas Cucchietti <thomas.cucchie...@gmail.com>
>>>>>>
>>>>>>  Hello,
>>>>>>>
>>>>>>> Is the following behavior intended, as it may be a bug ?
>>>>>>>
>>>>>>> With this structure :
>>>>>>>
>>>>>>> <t:zone t:id="zoneToRefresh" id="zoneToRefresh">
>>>>>>>    <t:delegate to="activeBlock"/>
>>>>>>> </t:zone>
>>>>>>>
>>>>>>> <t:block t:id="empty">
>>>>>>>    <!-- empty block -->
>>>>>>> </t:block>
>>>>>>>
>>>>>>> <t:block t:id="manageBlock">
>>>>>>>    <t:form t:id="manageForm" zone="zoneToRefresh">
>>>>>>>             <t:radiogroup t:value="manage">
>>>>>>>                 <input type="radio" t:type="radio" t:value="true"/>
>>>>>>>                 Yes
>>>>>>>                 <input type="radio" t:type="radio" t:value="false"/>
>>>>>>>                 No
>>>>>>>             </t:radiogroup>
>>>>>>>
>>>>>>>             <t:submit value="Submit form"/>
>>>>>>>    </t:form>
>>>>>>> </t:block>
>>>>>>>
>>>>>>> (I don't have included the button that refresh the zone the first
>>>>>>> time)
>>>>>>>
>>>>>>> The method getActiveBlock() return the emptyBlock when the page
>>>>>>> initially
>>>>>>> loads, then it returns the manageBlock once the refresh button is
>>>>>>> hit.
>>>>>>>
>>>>>>> The problem is that the form contained in the manageBlock doesn't
>>>>>>> refresh
>>>>>>> the zone in Ajax, and reload the whole page instead.
>>>>>>>
>>>>>>> From what I've searched, it seems that, when the manage block is
>>>>>>> rendered, the "zone" parameter of the manageForm is null (see line
>>>>>>> 356 of
>>>>>>> Form.class, in beginRender method) whereas it should be valued with
>>>>>>> the
>>>>>>> zoneToRefresh.
>>>>>>>
>>>>>>> I have already encoutered similar errors : the forms and actionlinks
>>>>>>> that
>>>>>>> should fire ajax reloads, fire page reload instead when they have
>>>>>>> not been
>>>>>>> rendered at the initial page loading.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Thomas
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>> --
>>>> Thiago H. de Paula Figueiredo
>>>>
>>>> ------------------------------**------------------------------**
>>>> ---------
>>>> To unsubscribe, e-mail: 
>>>> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org>
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>>
>>
>

Reply via email to