Sylvain Wallez wrote:
Now, as I mentioned already [1], I started using the generator approach
to form templates, using the implementation of "wt:" statements using
JXMacro provided by Chris [2]. And this approach is very powerful, as it
allows complex conditional form layout without requiring the
introduction of yet-another-control-structure-markup in the "wt:" namespace.
Introducing the widget states would allow these conditions to be computed with the form's own state rather than using some separate flow values.
So, I propose the following changes to Cocoon forms:
- add a state to widgets (enabled/disabled/hidden).
Assuming this state will be available during binding, as well as in form... +1. But, this will require some kind of "wt:" control markup anyway... Given simple example:
<table><tr><td><wt:widget-label id="x"/></td><td><wt:widget id="x"/></td></tr></table>
There is a need to disable whole table, it's not enough to take out widget only.
This is exactly why a generator approach is needed :
<jx:choose>
<jx:when test="${currentWidget.getChild("x").isDisabled()}">
<table>
<tr>
<td><wt:widget-label id="x"/></td>
<td><wt:widget id="x"/></td>
</tr>
</table>
</jx:when>
<jx:otherwise>
This data is currently not available.
</jx:otherwise>
</jx:choose>Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
