package com.smartgwt.sample.showcase.client.forms.dependencies; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.FormItemIfFunction; import com.smartgwt.client.widgets.form.fields.CheckboxItem; import com.smartgwt.client.widgets.form.fields.DateItem; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class FormShowHideSample extends ShowcasePanel { private static final String DESCRIPTION = "Select \"On order\" to reveal the \"Shipping Date\" field."; public static class Factory implements PanelFactory { private String id; public Canvas create() { FormShowHideSample panel = new FormShowHideSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { final DynamicForm form = new DynamicForm(); form.setWidth(300); final DateItem orderDate = new DateItem(); orderDate.setName("orderDate"); orderDate.setTitle("Order Placed"); orderDate.setRequired(true); orderDate.setVisible(false); CheckboxItem onOrder = new CheckboxItem(); onOrder.setName("onOrder"); onOrder.setTitle("Shipment on order"); onOrder.setRedrawOnChange(true); onOrder.setWidth(50); onOrder.setValue(false); orderDate.setShowIfCondition(new FormItemIfFunction() { public boolean execute(FormItem item, Object value, DynamicForm form) { return (Boolean)form.getValue("onOrder"); } }); form.setFields(onOrder, orderDate); return form; } public String getIntro() { return DESCRIPTION; } }