I have a component that will be used to edit a list in a form. It has the ability to add/remove items from the list and when it adds one, fields to edit the new item become available. I would like to have the add action be asynchronous so that any other edited fields in the form do not get reset when the user clicks add, so I figure I will need to use the zone component.
I thought it would make sense for the component itself to provide a zone that it will handle updating all on its own, but when I try having a zone inside a form I get (when I click add): [ERROR] RequestExceptionHandler> Processing of request failed with uncaught exception: Render queue error in SetupRender[test/Sandbox:listbeaneditor.beaneditor]: No object of type org.apache.tapestry.services.FormSupport is available from the Environment. Available types are org.apache.tapestry.PageRenderSupport, org.apache.tapestry.ValidationDecorator, org.apache.tapestry.internal.services.ClientBehaviorSupport, org.apache.tapestry.services.Heartbeat. It seems to work when I have a zone around the form and pass that zone as a parameter to the component, but I would ideally have this component used as a block in AppPropertyEditBlocks, which I don't think allows me to pass in the zone as a parameter. Plus, by having a zone around the entire form, the entire form gets refreshed instead of just this one section. Does anybody know a solution to this problem? Peter Beshai