[
https://issues.apache.org/jira/browse/TAPESTRY-2397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship updated TAPESTRY-2397:
-------------------------------------------
Description:
Currently, a mixin is "along for the ride" with a component and doesn't quite
have its own unique id.
This works for rendering just fine, but for more interesting cases its limiting:
- If the mixin has persistent fields, there is the potential for conflicts with
the component or other mixins that have persistent fields with the same name
- If the mixin wishes to contribute a component action (to the FormSupport
environmental) it ends up using the component's id, so the action will be
applied to the container component, not the mixin
Mixins should have an id that extends the container id; a separator character
(perhaps '$') followed by the simple class name of the mixin, i.e.,
Index.border.form$mixin where "Index" is the page name, "border.form" is the
component id path and "mixin" is the Mixin class name.
The unique id is not necessary for the generation of URLs, as mixins are (in
fact) "mixed in" to component event processing already.
was:
Currently, a mixin is "along for the ride" with a component and doesn't quite
have its own unique id.
This works for rendering just fine, but for more interesting cases its limiting:
- If the mixin has persistent fields, there is the potential for conflicts with
the component or other mixins that have persistent fields with the same name
- If the mixin wishes to contibute a component action (to the FormSupport
environmental) it ends up using the component's id, so the action will be
applied to the container component, not the mixin
- If the mixin wishes to generate an action request URL, it will generate a URL
that targets the component not the mixin (this is ok because of how events
propogate)
Mixins should have an id that extends the container id; a separator character
(perhaps '$') followed by the simple class name of the mixin, i.e.,
Index.border.form$mixin where "Index" is the page name, "border.form" is the
component id path and "mixin" is the Mixin class name.
> Mixins inside components should have an id that extends from from the
> containing component, but is still unique and URL safe
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: TAPESTRY-2397
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2397
> Project: Tapestry
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.11
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Priority: Critical
>
> Currently, a mixin is "along for the ride" with a component and doesn't quite
> have its own unique id.
> This works for rendering just fine, but for more interesting cases its
> limiting:
> - If the mixin has persistent fields, there is the potential for conflicts
> with the component or other mixins that have persistent fields with the same
> name
> - If the mixin wishes to contribute a component action (to the FormSupport
> environmental) it ends up using the component's id, so the action will be
> applied to the container component, not the mixin
> Mixins should have an id that extends the container id; a separator character
> (perhaps '$') followed by the simple class name of the mixin, i.e.,
> Index.border.form$mixin where "Index" is the page name, "border.form" is the
> component id path and "mixin" is the Mixin class name.
> The unique id is not necessary for the generation of URLs, as mixins are (in
> fact) "mixed in" to component event processing already.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]