[jboss-svn-commits] JBL Code SVN: r6707 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/breditor test/java/org/drools/brms/client/breditor

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 9 10:37:32 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-10-09 10:37:26 -0400 (Mon, 09 Oct 2006)
New Revision: 6707

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ListUtil.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/breditor/ChoiceListTest.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ChoiceList.java
Log:
filtering of popup suggestions

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ChoiceList.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ChoiceList.java	2006-10-09 14:30:00 UTC (rev 6706)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ChoiceList.java	2006-10-09 14:37:26 UTC (rev 6707)
@@ -3,9 +3,12 @@
 import java.util.List;
 
 import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 
@@ -17,6 +20,7 @@
 
     private ListBox list;    
     private ClickListener okClickListener;
+    private TextBox filter;
     
     public void setOKClickListener(ClickListener listener) {
         this.okClickListener = listener;
@@ -26,17 +30,44 @@
      * Pass in a list of suggestions for the popup lists.
      * Set a click listener to get notified when the OK button is clicked.
      */
-    public ChoiceList(List data) {
+    public ChoiceList(final List data) {
         super( true );
         
+        
+        filter = new TextBox();
+        filter.addKeyboardListener( new KeyboardListener() {
+
+            public void onKeyDown(Widget arg0,
+                                  char arg1,
+                                  int arg2) {
+                
+            }
+
+            public void onKeyPress(Widget arg0,
+                                   char arg1,
+                                   int arg2) {
+                
+            }
+
+            public void onKeyUp(Widget arg0,
+                                char arg1,
+                                int arg2) {
+                populateList( ListUtil.filter(data, filter.getText()) );
+            }
+            
+        });
+        filter.setFocus( true );
+        
+        
+        VerticalPanel panel = new VerticalPanel();
+        panel.add( filter );
+        
         list = new ListBox();
         list.setVisibleItemCount( 5 );
         
-        for (int i = 0; i < data.size(); i++) {
-            list.addItem((String) data.get( i ));
-        }        
+        populateList( data );        
         
-        VerticalPanel panel = new VerticalPanel();
+        
         panel.add( list );
         
         Button ok = new Button("ok");
@@ -51,6 +82,13 @@
         setStyleName( "ks-popups-Popup" );
         
     }
+
+    private void populateList(List data) {
+        list.clear();
+        for (int i = 0; i < data.size(); i++) {
+            list.addItem((String) data.get( i ));
+        }
+    }
     
     private void onOkClicked() {        
         this.okClickListener.onClick( this );

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ListUtil.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ListUtil.java	2006-10-09 14:30:00 UTC (rev 6706)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ListUtil.java	2006-10-09 14:37:26 UTC (rev 6707)
@@ -0,0 +1,24 @@
+package org.drools.brms.client.breditor;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class ListUtil {
+
+    public static List filter(List source,
+                             String filterVal) {
+        if (filterVal == null || "".equals( filterVal.trim() )) {
+            return source;
+        }
+        ArrayList filteredList = new ArrayList();
+        for ( Iterator iter = source.iterator(); iter.hasNext(); ) {
+            String item = (String) iter.next();
+            if (item.startsWith( filterVal )) {
+                filteredList.add( item );
+            }
+        }
+        return filteredList;
+    }
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/ListUtil.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/breditor/ChoiceListTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/breditor/ChoiceListTest.java	2006-10-09 14:30:00 UTC (rev 6706)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/breditor/ChoiceListTest.java	2006-10-09 14:37:26 UTC (rev 6707)
@@ -0,0 +1,30 @@
+package org.drools.brms.client.breditor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+public class ChoiceListTest extends TestCase {
+
+    public void testFilter() {
+        
+        List source = new ArrayList();
+        source.add("foo bar");
+        source.add( "baz" );
+        source.add( "barry" );
+        
+        List result = ListUtil.filter(source, null);
+        
+        assertEquals(3, result.size());
+        
+        result = ListUtil.filter(source, "ba");
+        assertEquals(2, result.size());
+        
+        assertEquals(0, ListUtil.filter(source, "xx").size());
+        
+        assertEquals(1, ListUtil.filter(source, "barry").size());
+        
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/breditor/ChoiceListTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list