package com.googlecode.tawus.addons.integration.pages;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.ioc.annotations.Inject;
import com.googlecode.tawus.addons.ModalDialogUtils;
public class ModalDialogWithForm
{
@Property
@Persist(PersistenceConstants.FLASH)
private String name;
@Property
@Persist(PersistenceConstants.FLASH)
private String address;
@Inject
private Block formBlock;
@InjectComponent
private Zone zone;
@SuppressWarnings("unused")
@Property
private String message;
@InjectComponent
private Form form;
private boolean hide;
void beginRender()
{
}
Object onSuccess()
{
message = String.format("Hello %s, your address is %s", name, address);
if(hide)
{
return ModalDialogUtils.createJSONToCloseDialog();
}
return zone.getBody();
}
Object onFailure()
{
message = String.format("Submission failed");
return zone.getBody();
}
void onSelectedFromSubmitAndHide()
{
hide = true;
}
Block onShowDialog()
{
form.clearErrors();
return formBlock;
}
}