Ray, I'm not sure if this helps, but here is an example of a AjaxFormLoop
with a nested select / zone and nested within the zone is another select.
The tempId in the value encoder is just a @Transient UUID generated from
your entity class. Hope it helps.
<t:AjaxFormLoop source="purchaseRequests" value="purchaseRequest"
encoder="encoder">
<t:TextField value="purchaseRequest.name"/>
<t:Select value="purchaseRequest.parentState"
model="parentStateModel" zone="prop:loopZoneId"/>
<t:Zone t:id="loopZone" id="prop:loopZoneId">
<t:Select value="purchaseRequest.parentState"
model="parentStateModel"/>
</t:Zone>
</t:AjaxFormLoop>
@Inject
private Session session;
@Property
private List<PurchaseRequest> purchaseRequests;
@Persist
@Property
private PurchaseRequest purchaseRequest;
@Persist
@Property
private SelectModel parentStateModel;
@Inject
private SelectModelFactory selectModelFactory;
@InjectComponent
private Zone loopZone;
private List<ParentState> parentStates;
void onPrepare() {
purchaseRequests =
session.createCriteria(PurchaseRequest.class).list();
parentStates = session.createCriteria(ParentState.class).list();
parentStateModel = selectModelFactory.create(parentStates, "label");
}
@SuppressWarnings("unchecked")
public ValueEncoder getEncoder() {
return new ValueEncoder<PurchaseRequest>() {
public String toClient(PurchaseRequest value) {
Long key = value.getTempId();
return key.toString();
}
public PurchaseRequest toValue(String keyAsString) {
Long key = new Long(keyAsString);
for (PurchaseRequest holder : purchaseRequests) {
if (holder.getTempId() == key) {
return holder;
}
}
return null;
}
};
}
PurchaseRequest onAddRow() {
PurchaseRequest newPurchaseRequest = new PurchaseRequest();
return newPurchaseRequest;
}
Object onValueChanged() {
return loopZone.getBody();
}
public String getLoopZoneId() {
return "purchaseRequest-" + getEncoder().toClient(purchaseRequest);
}
--
View this message in context:
http://tapestry.1045711.n5.nabble.com/updating-a-zone-inside-of-an-ajaxformloop-tp4575519p4578714.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]