Details
Description
While developing a Gallery widget in trails... I have found that properties with PropertySelection are operating flakey.
I have 3 renderblocks
<form jwcid="galleryForm@Form" listener="listener:onFormSubmit">
<div jwcid="headerSelect@RenderBlock" block="ognl:components.autoPagingContent" />
<div jwcid="content@RenderBlock" block="ognl:components.collectionContent" />
<div jwcid="footerSelect@RenderBlock" block="ognl:components.autoPagingContent" />
</form>
The RenderBlock issue is confused....
Additionally, prefixed "do" listeners fail to invoke.
Additionally @persist fails to work when defined in the JAVA instead of JWC.
The main issue for renderBlock is The select components in the footerSelect are clobbering the values in headerSelect internally. yet, All the id's are unique. Is this because the actual array is forced to be declared static?
Here is my model (sources attached)
Gallery.html
<span jwcid="autoPagingContent@Block">
<table width="100%" border=1>
<tr>
<td width="25%" align="left" NOWRAP>
<span jwcid="@Insert" value="Table Size"/>
<select jwcid="tableSizeSelect" listener="listener:doTableSizeSelect"
parameters="ognl:tableSize" onchange="tapestry.form.refresh(this.form)"/>
<span jwcid="@Insert" value="Paging Span"/>
<select jwcid="pagingSpanSelect" listener="listener:doPagingSpanSelect"
parameters="ognl:pagingSpan" onchange="tapestry.form.refresh(this.form)"/>
</td>
... snip
</span>
<form jwcid="galleryForm@Form" listener="listener:onFormSubmit">
<div jwcid="headerSelect@RenderBlock" block="ognl:components.autoPagingContent" />
<div jwcid="content@RenderBlock" block="ognl:components.collectionContent" />
<div jwcid="footerSelect@RenderBlock" block="ognl:components.autoPagingContent" />
</form>
Gallery.jwc
<component-specification class="org.trails.demo.components.Gallery"
allow-body="yes"
allow-informal-parameters="yes">
<parameter name="autoPagingContentParm"/>
<parameter name="collectionContentParm"/>
<property name="tableSize" persist="session"/>
<property name="pagingSpan" persist="session"/>
<property name="theTableSizeValue" persist="session"/>
<property name="thePagingSpanValue" persist="session"/>
<component id="tableSizeSelect" type="PropertySelection">
<binding name="value" value="theTableSizeValue"/>
<binding name="model" value="tableSizeModel"/>
</component>
<component id="pagingSpanSelect" type="PropertySelection">
<binding name="value" value="thePagingSpanValue"/>
<binding name="model" value="pagingSpanModel"/>
</component>
</component-specification>