started on CLK-735
git-svn-id: https://svn.apache.org/repos/asf/click/trunk/click@1052886 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/examples/src/org/apache/click/examples/page/form/TabbedFormDemo.java b/examples/src/org/apache/click/examples/page/form/TabbedFormDemo.java
index c1cbccb..6ca6a1a 100644
--- a/examples/src/org/apache/click/examples/page/form/TabbedFormDemo.java
+++ b/examples/src/org/apache/click/examples/page/form/TabbedFormDemo.java
@@ -18,6 +18,8 @@
*/
package org.apache.click.examples.page.form;
+import java.io.Serializable;
+
import org.apache.click.control.Checkbox;
import org.apache.click.control.Field;
import org.apache.click.control.FieldSet;
@@ -31,6 +33,7 @@
import org.apache.click.examples.control.TitleSelect;
import org.apache.click.examples.page.BorderPage;
import org.apache.click.examples.page.HomePage;
+import org.apache.click.examples.util.ExampleUtils;
import org.apache.click.extras.control.CreditCardField;
import org.apache.click.extras.control.DateField;
import org.apache.click.extras.control.EmailField;
@@ -55,6 +58,16 @@
private CreditCardField cardNumber = new CreditCardField("cardNumber");
private IntegerField expiry = new IntegerField("expiry");
+
+ protected Form optionsForm = new Form("optionsForm");
+
+ /** Form options holder. */
+ public static class Options implements Serializable {
+ static final long serialVersionUID = 1L;
+ boolean javaScriptValidate = false;
+ }
+
+ private Checkbox jsValidate = new Checkbox("jsValidate", "JavaScript Validate");
// Constructor ------------------------------------------------------------
public TabbedFormDemo() {
@@ -121,10 +134,37 @@
form.add(new PageSubmit("cancel", HomePage.class));
addControl(form);
+
+ // Settings Form
+ FieldSet fieldSet = new FieldSet("options", "Form Options");
+ jsValidate.setAttribute("onclick", "form.submit();");
+ fieldSet.add(jsValidate);
+ optionsForm.add(fieldSet);
+ optionsForm.setListener(this, "onOptionsSubmit");
+ addControl(optionsForm);
}
// Event Handlers ---------------------------------------------------------
+ /**
+ * @see org.apache.click.Page#onInit()
+ */
+ @Override
+ public void onInit() {
+ super.onInit();
+
+ applyOptions();
+ }
+
+ public boolean onOptionsSubmit() {
+ Options options = new Options();
+ options.javaScriptValidate = jsValidate.isChecked();
+ ExampleUtils.setSessionObject(options);
+ applyOptions();
+ return true;
+ }
+
+
public boolean onOkClick() {
if (isFormValid()) {
processDelivery();
@@ -162,4 +202,11 @@
System.out.println(field.getName() + "=" + field.getValue());
}
}
+
+ private void applyOptions() {
+ Options options = (Options) ExampleUtils.getSessionObject(Options.class);
+
+ form.setJavaScriptValidation(options.javaScriptValidate);
+ jsValidate.setChecked(options.javaScriptValidate);
+ }
}
diff --git a/examples/webapp/form/tabbed-form-demo.htm b/examples/webapp/form/tabbed-form-demo.htm
index b4b3bf6..58dcf14 100644
--- a/examples/webapp/form/tabbed-form-demo.htm
+++ b/examples/webapp/form/tabbed-form-demo.htm
@@ -18,3 +18,7 @@
-->
$form
+
+<br/>
+
+$optionsForm
\ No newline at end of file