perfect thanks! On Tue, Aug 19, 2008 at 4:09 PM, Robert Zeigler <[EMAIL PROTECTED]> wrote: > ah... Sorry... > Change: > beginRender > to > afterRender > > in the ensureid mixin. > > Alternatively, you might be able to get away with writing ensureid as a > "@MixinAfter". > > The problem is exactly what tapestry is saying: the component hasn't been > rendered yet (the component's beginRender hasn't been called yet when the > mixin's beginRender is called), so it can't have an id yet. > > Robert > > On Aug 19, 2008, at 8/1912:33 PM , Mark Horn wrote: > >> That gets me much closer, I changed my tml to look like this >> >> ... >> <table t:type="grid" source="list" row="product" >> reorder="name,description" > >> <t:parameter name="nameCell"> >> <t:pagelink t:id="details" >> page="product/list" context="product.id >> t:mixins="ensureId" >${product.name}</t:pagelink> >> </t:parameter> >> </table> >> .... >> >> but now I'm getting the following exception. >> >> org.apache.tapestry5.ioc.internal.util.TapestryException: Client id >> for product/List:details is not available as it did not render yet (or >> was disabled). >> >> note my pageLinks are being rendered inside a table. >> >> On Tue, Aug 19, 2008 at 12:55 PM, Robert Zeigler <[EMAIL PROTECTED]> >> wrote: >>> >>> Check out the second comment by HLS: >>> >>> "Or, here's a better idea; an id should only be generated if >>> getClientId() >>> is invoked, at which point the id attribute of the element may be set. >>> Dynamic updates to the DOM are a great thing. " >>> >>> That's the behavior that ended up getting implemented. >>> You still want to use t:id. >>> >>> But you need to make sure that "getClientId" is called. >>> >>> A simple way to do this would be to attach a mixin: >>> >>> package com.example.mixins; >>> >>> public class EnsureId { >>> @InjectContainer >>> private ClientElement element; >>> void beginRender() { >>> element.getClientId(); >>> } >>> } >>> >>> <t:pagelink t:id="new" mixins="ensureid" page="newid">Some >>> Link</t:pagelink> >>> >>> >>> Robert >>> >>> >>> On Aug 19, 2008, at 8/1910:42 AM , Mark Horn wrote: >>> >>>> hhmm... that is a problem as my links are in a loop. so they used to >>>> be remove, remove_0, etc. if I set id="remove" then all links have >>>> the id of 'remove' which does not work for my tests ether. >>>> >>>> Any other ideas? >>>> >>>> On Tue, Aug 19, 2008 at 11:32 AM, Mark Horn <[EMAIL PROTECTED]> >>>> wrote: >>>>> >>>>> right.. how did I miss that. thanks! >>>>> >>>>> On Tue, Aug 19, 2008 at 11:27 AM, Filip S. Adamsen <[EMAIL PROTECTED]> >>>>> wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> As far as I can tell from the issue you linked to, you need to bind >>>>>> the >>>>>> id >>>>>> (not t:id) parameter of the link. >>>>>> >>>>>> -Filip >>>>>> >>>>>> On 2008-08-19 17:11, Mark Horn wrote: >>>>>>> >>>>>>> I just updated to Tapestry 5.0.14 from 5.0.11 and have run into an >>>>>>> issue with using PageTester to test ActionLinks as shown here >>>>>>> http://tapestry.apache.org/tapestry5/guide/unit-testing-pages.html >>>>>>> >>>>>>> It looks like this change in 5.0.12, >>>>>>> >>>>>>> >>>>>>> >>>>>>> https://issues.apache.org/jira/browse/TAPESTRY-2294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel >>>>>>> is causing the trouble I'm running into. >>>>>>> >>>>>>> My ActionLinks no longer have an "id" therefore the call >>>>>>> >>>>>>> Element link = doc.getElementById("link1"); >>>>>>> >>>>>>> is now returning an null, causing the line >>>>>>> >>>>>>> doc = tester.clickLink(link); >>>>>>> >>>>>>> to throw a NullPointException. >>>>>>> >>>>>>> Any suggestions on how to get around this? >>>>>>> >>>>>>> example of from tml file where id was set using t:id >>>>>>> >>>>>>> <table t:type="grid" source="list" row="type" >>>>>>> reorder="name,description" > >>>>>>> <t:parameter name="nameCell"> >>>>>>> <t:pagelink t:id="new" >>>>>>> page="prop:createPage"> >>>>>>> ${type.name} >>>>>>> </t:pagelink> >>>>>>> </t:parameter> >>>>>>> </table> >>>>>>> >>>>>>> Thanks, >>>>>>> Mark >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>>> >>>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]