[jboss-svn-commits] JBL Code SVN: r34156 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 25 12:52:17 EDT 2010


Author: jervisliu
Date: 2010-07-25 12:52:16 -0400 (Sun, 25 Jul 2010)
New Revision: 34156

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
Log:
GUVNOR-58: Guided editor & decision table to use date picker for editing fields that are known to be date types

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-07-25 14:41:34 UTC (rev 34155)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-07-25 16:52:16 UTC (rev 34156)
@@ -29,8 +29,10 @@
 import org.drools.guvnor.client.common.InfoPopup;
 import org.drools.guvnor.client.common.PrettyFormLayout;
 import org.drools.guvnor.client.common.SmallLabel;
+import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
+import org.drools.guvnor.client.modeldriven.ui.DatePickerTextBox;
 import org.drools.guvnor.client.modeldriven.ui.RuleAttributeWidget;
 import org.drools.guvnor.client.packages.SuggestionCompletionCache;
 import org.drools.guvnor.client.rpc.RuleAsset;
@@ -49,6 +51,8 @@
 import org.drools.ide.common.client.modeldriven.ui.ConstraintValueEditorHelper;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ChangeListener;
@@ -1242,47 +1246,75 @@
         w.setPlain( true );
         w.setBodyBorder( false );
         w.setTitle( dta );
-        final TextBox box = new TextBox();
-        box.setText( val );
-        box.addKeyboardListener( new KeyboardListenerAdapter() {
-            public void onKeyUp(Widget sender,
-                                char keyCode,
-                                int modifiers) {
-                if ( keyCode == KeyboardListener.KEY_ENTER ) {
-                    r.set( dta,
-                           box.getText() );
-
-                    w.destroy();
-                }
-            }
-        } );
-
-        if ( dt.isNumeric( colConf,
-                           getSCE() ) ) {
-            box.addKeyboardListener( ActionValueEditor.getNumericFilter( box ) );
-        }
         
-        
+        String typeDescription = dt.getType(colConf, getSCE());
         Panel p = new Panel();
-        p.add( box );
-        String typeDescription = dt.getType(colConf, getSCE());
-        if(typeDescription != null) {
-            p.add( new InfoPopup( constants.CategoryParentRules(), Format.format(constants.FillInColumnWithValue(), typeDescription)));       	
-        }
 
-        w.add( p );
-        w.setBorder( false );
+        if (typeDescription != null
+				&& typeDescription.equals(SuggestionCompletionEngine.TYPE_DATE)) {
+			final DatePickerTextBox datePicker = new DatePickerTextBox(val);
+			String m = Format.format(((Constants) GWT.create(Constants.class))
+					.ValueFor0(), dta);
+			datePicker.setTitle(m);
+			datePicker.addValueChanged(new ValueChanged() {
+				public void valueChanged(String newValue) {
+					r.set(dta, newValue);
+				}
+			});
 
-        Button ok = new Button( constants.OK() );
-        ok.addClickListener( new ClickListener() {
-            public void onClick(Widget wg) {
-                r.set( dta,
-                       box.getText() );
-                w.destroy();
-            }
-        } );
-        p.add( ok );
+			p.add(datePicker);
+			p.add(new InfoPopup(constants.CategoryParentRules(), Format.format(
+					constants.FillInColumnWithValue(), typeDescription)));
 
+			w.add(p);
+			w.setBorder(false);
+
+			Button ok = new Button(constants.OK());
+			ok.addClickHandler(new ClickHandler() {
+				public void onClick(ClickEvent arg0) {
+					r.set(dta, datePicker.getDateString());
+					w.destroy();
+				}
+			});
+
+			p.add(ok);
+			
+		} else {
+			final TextBox box = new TextBox();
+			box.setText(val);
+			box.addKeyboardListener(new KeyboardListenerAdapter() {
+				public void onKeyUp(Widget sender, char keyCode, int modifiers) {
+					if (keyCode == KeyboardListener.KEY_ENTER) {
+						r.set(dta, box.getText());
+						w.destroy();
+					}
+				}
+			});
+
+			if (dt.isNumeric(colConf, getSCE())) {
+				box.addKeyboardListener(ActionValueEditor
+								.getNumericFilter(box));
+			}
+
+			p.add(box);
+			if (typeDescription != null) {
+				p.add(new InfoPopup(constants.CategoryParentRules(), Format
+						.format(constants.FillInColumnWithValue(),
+								typeDescription)));
+			}
+			w.add(p);
+			w.setBorder(false);
+
+			Button ok = new Button(constants.OK());
+			ok.addClickListener(new ClickListener() {
+				public void onClick(Widget wg) {
+					r.set(dta, box.getText());
+					w.destroy();
+				}
+			});
+			p.add(ok);
+		} 
+
         w.setPosition( e.getPageX(),
                        e.getPageY() );
         w.show();



More information about the jboss-svn-commits mailing list