package com.smartgwt.sample.showcase.client.forms.controls;
import com.smartgwt.client.data.DateRange;
import com.smartgwt.client.data.RelativeDate;
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.DateRangeItem;
import com.smartgwt.client.widgets.form.fields.MiniDateRangeItem;
import com.smartgwt.client.widgets.form.fields.RelativeDateItem;
import com.smartgwt.client.widgets.form.fields.TimeItem;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
public class DateControlsSample extends ShowcasePanel {
private static final String DESCRIPTION = "<p>Demonstration of various Date related controls.</p>" +
"<p>The RelativeDateRangeItem allows selection of dates in three ways: you can select a preset date-string, like \"Today\" or \"Tomorrow\", " +
"or a \"ranged\" date-string, such as \"N days from now\" and enter a quantity to associate with it, or you can directly enter a date-string " +
"in a recognized format. You can also select a date from the DateChooser by click the icon to the right of the widget. <p>";
public static class Factory implements PanelFactory {
private String id;
public ShowcasePanel create() {
DateControlsSample panel = new DateControlsSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
DynamicForm dateForm = new DynamicForm();
dateForm.setWidth(450);
dateForm.setHeight(300);
dateForm.setCellPadding(5);
dateForm.setIsGroup(true);
dateForm.setGroupTitle("Date Controls");
DateItem dateItem = new DateItem();
dateItem.setTitle("Date");
dateItem.setHint("<nobr>Picklist based date input</nobr>");
DateItem dateItem2 = new DateItem();
dateItem2.setTitle("Date");
dateItem2.setUseTextField(true);
dateItem2.setHint("<nobr>Direct date input</nobr>");
TimeItem timeItem = new TimeItem("timeItem", "Time");
DateRangeItem dateRangeItem = new DateRangeItem("dri", "Date Range");
dateRangeItem.setAllowRelativeDates(true);
DateRange dateRange = new DateRange();
dateRange.setRelativeStartDate(RelativeDate.TODAY);
dateRange.setRelativeEndDate(new RelativeDate("-1m"));
dateRangeItem.setValue(dateRange);
MiniDateRangeItem miniDateRangeItem = new MiniDateRangeItem("mdri", "Mini Date Range");
RelativeDateItem relativeDateItem = new RelativeDateItem("rdi", "Relative Date");
dateForm.setItems(dateItem, dateItem2, timeItem, dateRangeItem, miniDateRangeItem, relativeDateItem);
return dateForm;
}
public String getIntro() {
return DESCRIPTION;
}
@Override
protected boolean isTopIntro() {
return true;
}
}