package com.smartgwt.sample.showcase.client.forms;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.DateItem;
import com.smartgwt.client.widgets.form.fields.DateTimeItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.fields.TimeItem;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
public class TextMaskingSample extends ShowcasePanel {
private static final String DESCRIPTION = "<p>TextItems support a masked entry to restrict and format entry.</p>" +
"<p>Overview of available mask characters <P> <table class=\"normal\"> <tr><th>Character</th><th>Description</th></tr> " +
"<tr><td>0</td><td>Digit (0 through 9) or plus [+] or minus [-] signs</td></tr> <tr><td>9</td><td>Digit or " +
"space</td></tr> <tr><td>#</td><td>Digit</td></tr> <tr><td>L</td><td>Letter (A through Z)</td></tr> " +
"<tr><td>?</td><td>Letter (A through Z) or space</td></tr> <tr><td>A</td><td>Letter or digit</td></tr> " +
"<tr><td>a</td><td>Letter or digit</td></tr> <tr><td>C</td><td>Any character or space</td></tr> <tr><td> </td></tr> " +
"<tr><td><</td><td>Causes all characters that follow to be converted to lowercase</td></tr> <tr><td>></td><td>Causes " +
"all characters that follow to be converted to uppercase</td></tr> </table> <P> Any character not matching one of the " +
"above mask characters or that is escaped with a backslash (\\) is considered to be a literal. <P> Custom mask characters " +
"can be defined by standard regular expression character set or range. For example, a hexadecimal color code mask could " +
"be: <UL> <LI>Color: \\#>[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]</LI> </UL></p?";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
TextMaskingSample panel = new TextMaskingSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
protected boolean isTopIntro() {
return true;
}
public Canvas getViewPanel() {
DynamicForm form = new DynamicForm();
form.setWidth(400);
TextItem firstName = new TextItem("firstName", "First name");
firstName.setMask(">?<??????????????");
firstName.setHint("<nobr>>?<??????????????<nobr>");
TextItem lastName = new TextItem("lastName", "Last name");
lastName.setMask(">?<??????????????");
lastName.setHint("<nobr>>?<??????????????<nobr>");
TextItem stateField = new TextItem("state", "State");
stateField.setMask(">LL");
stateField.setHint("<nobr>>LL</nobr>");
TextItem phoneNumberField = new TextItem("phoneNo", "Phone No.");
phoneNumberField.setMask("(###) ###-####");
phoneNumberField.setHint("<nobr>(###) ###-####</nobr>");
DateItem dateField = new DateItem("dateItem", "Date");
dateField.setUseTextField(true);
dateField.setUseMask(true);
DateTimeItem dateTimeField = new DateTimeItem("dateTimeItem", "Date Time");
dateTimeField.setUseTextField(true);
dateTimeField.setUseMask(true);
TimeItem timeField = new TimeItem("timeItem", "Time");
timeField.setUseMask(true);
form.setFields(firstName, lastName, stateField, phoneNumberField, dateField, dateTimeField, timeField);
return form;
}
public String getIntro() {
return DESCRIPTION;
}
}