package com.sksamuel.jqm4gwt.examples.showcase;
import com.sksamuel.jqm4gwt.JQMPage;
import com.sksamuel.jqm4gwt.form.JQMForm;
import com.sksamuel.jqm4gwt.form.JQMSubmit;
import com.sksamuel.jqm4gwt.form.elements.JQMEmail;
import com.sksamuel.jqm4gwt.form.elements.JQMNumber;
import com.sksamuel.jqm4gwt.form.elements.JQMSearch;
import com.sksamuel.jqm4gwt.form.elements.JQMSlider;
import com.sksamuel.jqm4gwt.form.elements.JQMTelephone;
import com.sksamuel.jqm4gwt.form.elements.JQMText;
import com.sksamuel.jqm4gwt.form.validators.RegexValidator;
import com.sksamuel.jqm4gwt.html.Paragraph;
import com.sksamuel.jqm4gwt.toolbar.JQMFooter;
import com.sksamuel.jqm4gwt.toolbar.JQMHeader;
/**
* @author Stephen K Samuel samspade79@gmail.com 9 Jul 2011 18:43:06
*
* The showcase page is a single page with every element/event/etc under
* the sun all crammed in !
*
*/
public class FormShowcasePage extends JQMPage {
private static final String textPhoneRegex = "^(\\([0-9]{3}\\) ?|[0-9]{3}-?)[0-9]{3}-?[0-9]{4}$";
private static final String textPhoneRegexComment = "408-678-1234 or (408) 678-1234 or 4086781234";
private static final String textEmailRegex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$";
private static final String textEmailRegexComment = "john@abc.net";
public FormShowcasePage() {
JQMHeader h = new JQMHeader("Form Showcase");
h.setBackButton(true);
add(h);
add(new Paragraph("This page shows all the different form elements in use."));
JQMForm.globalValidationErrorStyles = "ui-icon-alert ui-btn-icon-left";
JQMForm form = new JQMForm();
add(form);
form.add(new JQMText("A text field"));
form.add(new JQMSearch("A search field"));
form.add(new JQMEmail("An email field"));
form.add(new JQMNumber("A number field"));
form.add(new JQMSlider("A slider"));
JQMText userName = new JQMText("User Name");
form.add(userName);
form.setRequired(userName, "User Name is required", true);
JQMEmail email = new JQMEmail("Email");
form.add(email);
form.addValidator(new RegexValidator(email,
textEmailRegex, "Invalid " + email.getText()
+ ". Expected: " + textEmailRegexComment), email);
JQMTelephone phone = new JQMTelephone("Phone");
form.add(phone);
form.addValidator(new RegexValidator(phone,
textPhoneRegex, "Invalid " + phone.getText()
+ ". Expected: " + textPhoneRegexComment), phone);
add(new JQMSubmit("Submit"));
add(new JQMFooter("jqm4gwt open source project"));
}
}