Yes, Tapestry tries very hard to work however people feel comfortable..

With 4.1.2 especially I don't understand why

<span jwcid="@For">
 <span jwcid="[EMAIL PROTECTED]">
 </span>
</span>

wouldn't work with a updateComponents="updateArea" parameter value.  The
client id logic / unique loop id generation / etc should all be handled
transparently ....but maybe that's not the case in this instance somehow.

On 7/7/07, Marcus Schulte <[EMAIL PROTECTED]> wrote:

cool, I was completely wrong then - didn't know, it worked with
client-side
id's. Something like that would really be a nice example for the docs, I
think!

2007/7/6, Malin Ljungh <[EMAIL PROTECTED]>:
>
> Well, actually I works excellent!
>
> I have it like this in my template now:
>
> <span jwcid="loopContacts">
>      <tr id="ognl:'contact_'+currentContact.contactId" jwcid="@Any"
> renderTag="true">
>         ...
>      </tr>
> </span>
>
> (loopContacts is of type For)
> and on every row I have edit button which swithes current contact from
> display to edit form.
> So on edit linkbutton I have this:
>
> <binding name="async" value="true" />
> <binding name="updateComponents"
> value="ognl:'contact_'+currentContact.contactId"></binding>
>
> and the same on submit/save button.
> Result is very neat AJAX style table with editable rows without reload
of
> page :)
>
>
>
>
> On 7/6/07, Marcus Schulte <[EMAIL PROTECTED]> wrote:
> >
> > Yes, you should be able to define any attribute (=informal parameter)
in
> > the
> > template, in the spec or in annotated Java. In some components,
however,
> > id
> > is a reserved parameter, because the component insists on generating
it
> > itself.
> >
> > But I think even if you had your data-id in the client-side
element-id,
> > your
> > problem of updating only one "rendering" of a component in a @For
would
> > not
> > be solved.
> >
> > One approach would be to make your loopContacts component a
> JSON-Component
> > like it's described here:
> > http://tapestry.apache.org/tapestry4.1/ajax/json.html .
> >
> > 2007/7/6, Malin Ljungh <[EMAIL PROTECTED]>:
> > >
> > > OK, it does NOT work to have the ognl id in the page-file.
> > > Not that it's important - but ... am I correct?
> > >
> > > I thought everything could be done either way.
> > >
> > >
> > > On 7/6/07, Malin Ljungh <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Andreas!
> > > >
> > > > That was EXACTLY what I was looking for!!! Thanks!!!
> > > > (And thank you Marcus too, I'll to refresh the whole loop if this
> > > doesn't
> > > > work out)
> > > >
> > > > Actually I started with something like this but I normally use
just
> > > jwcid
> > > > in my .html file and have everything else in the
page-specification
> > > (.page
> > > > file) but it seemed so weird to have ognl in the jwcid in the
.html
> > file
> > > > that I didn't even test it... would it work? I guess I should just
> > > try...
> > > >
> > > > Thanks again! *happy*
> > > >
> > > > /Malin - I'm a she btw ;)
> > > >
> > > >
> > > >
> > > > On 7/6/07, Andreas Andreou <[EMAIL PROTECTED] > wrote:
> > > > >
> > > > > But he can set the id parameter to whatever he likes, i.e.
> > > > > <span jwcid="@MyComponent"
id="ognl:'data_'+currentId">data</span>
> > > > >
> > > > > On 7/6/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > As there are no dynamic component instances in Tapestry, there
> are
> > > no
> > > > > > dynamic component-ids. What you are seeing (loopContacts_i,
i=1
> > ...)
> > > > > are
> > > > > > multiple clientId's (Element id's on the client side) rendere
by
> > one
> > > > > and
> > > > > > the same component instance, whose id, the component-id on the
> > > server,
> > > > >
> > > > > > is "loopContacts". So, tapestry wouldn't recognise
loopContact_0
> > as
> > > a
> > > > > > valid component-id anyway.
> > > > > >
> > > > > > So, I'd just try to refresh "loopContacts" and see whether the
> > > > > overhead
> > > > > > of refreshing all instances really hurts.
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Malin Ljungh [mailto:[EMAIL PROTECTED]
> > > > > > > Sent: Friday, July 06, 2007 9:03 AM
> > > > > > > To: Tapestry users
> > > > > > > Subject: T4: Can I have dynamic component id or how do I
solve
> > > this?
> > > > > > >
> > > > > > > I have a loop - a component of type="For", displaying
> contacts.
> > > > > > > I'd like to have a component inside the loop with component
> > > > > > > id equals something with the database key in it, the contact
> > > > > > > ID. Is that possible?
> > > > > > >
> > > > > > > Or is there a smarter way to solve my issue?
> > > > > > > The reason I want it this way is that I want to use it in
> > > > > > > updateComponents with async="true". Then I could set
> > > > > > > updateComponents to the desired contact ID that I want to
> > > > > > > update on the client.
> > > > > > >
> > > > > > > All I have now is loopContacts, loopContacts_0,
> > > > > > > loopContacts_1 and so on, but I don't know which contact is
> > > which...
> > > > > > >
> > > > > > > Hope someone understood something... :)
> > > > > > > Any input appreciated!!!
> > > > > > >
> > > > > > > Malin
> > > > > > >
> > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail:
[EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
> > > > > Tapestry / Tacos developer
> > > > > Open Source / JEE Consulting
> > > > >
> > > >
> > > >
> > >
> >
> >
> >
> > --
> > Marcus Schulte
> > http://marcus-schulte.blogspot.com
> >
>



--
Marcus Schulte
http://marcus-schulte.blogspot.com




--
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Reply via email to