[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