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