Some background:

I'm working on a module that adapts existing components to use the
Twitter Bootstrap HTML/CSS framework. To do this I created a mixin
that supports informal parameters and passes the parameters to a
Visitor. The problem is mixins that support informal parameters appear
to be favored over components. To me this is contrary to what the
documentation says.

The problem:

I had come to the conclusion this behavior was a documentation problem
but the following code fragment makes me think otherwise.

<t:grid t:id="people" row="person" t:mixins="RenderInformals"  >
    <p:lastNameCell>
        <b>${person.lastName}</b>
    </p:lastNameCell>
</t:grid>

In this case I believe the p:lastNameCell parameter is going to the
RenderInformals mixin. To me this is just wrong. Obviously this is not
what is intended and there is no way for the mixin to do anything
sensible with lastNameCell.

So is there any consensus on this? What component/mixin should receive
the default/empty namespace informal parameters?

I think the component should receive them but this would be a breaking
change. One option would be something like this:

@SupportsInformalParameters(namespace=true)
class Mixin {
}

This would cause the mixin to only claim informal parameters marked by
mixin. For example

<t:grid t:id="people" row="person" t:mixins="mixin" mixin.foo="bar"  >
    <p:lastNameCell>
        <b>${person.lastName}</b>
    </p:lastNameCell>
</t:grid>

Thanks
Barry

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to