]> source.dussan.org Git - vaadin-framework.git/commitdiff
some changes to work in the same way as extjs and dojo select
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 5 Sep 2007 11:27:56 +0000 (11:27 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 5 Sep 2007 11:27:56 +0000 (11:27 +0000)
svn changeset:2198/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java

index cdb354612064002cc93ac6a3571bc34cc859e9ea..ee1b16f475c4f0e7a0fc7511ab8fd5843ad280f8 100644 (file)
@@ -137,9 +137,9 @@ public class IFilterSelect extends Composite implements Paintable, KeyboardListe
                public void onBrowserEvent(Event event) {
                        Element target = DOM.eventGetTarget(event);
                        if(DOM.compare(target, up)) {
-                               filterOptions(currentPage - 1);
+                               filterOptions(currentPage - 1, lastFilter);
                        } else if (DOM.compare(target, down)) {
-                               filterOptions(currentPage + 1);
+                               filterOptions(currentPage + 1, lastFilter);
                        }
                        tb.setFocus(true);
                }
@@ -219,10 +219,14 @@ public class IFilterSelect extends Composite implements Paintable, KeyboardListe
                popupOpener.setStyleName(CLASSNAME + "-popupopener");
                popupOpener.addClickListener(this);
        }
-
+       
        public void filterOptions(int page) {
-               String filter = tb.getText();
+               filterOptions(page, tb.getText());
+       }
+
+       public void filterOptions(int page, String filter) {
                if (filter.equals(lastFilter) && currentPage == page) {
+                       suggestionPopup.showSuggestions(currentSuggestions, currentPage, totalSuggestions);
                        return;
                }
                if(!filter.equals(lastFilter)) {
@@ -293,11 +297,11 @@ public class IFilterSelect extends Composite implements Paintable, KeyboardListe
                  break;
               case KeyboardListener.KEY_PAGEDOWN:
                  if(totalSuggestions > currentPage*(PAGELENTH+1))
-                         filterOptions(currentPage + 1);
+                         filterOptions(currentPage + 1, lastFilter);
                  break;
               case KeyboardListener.KEY_PAGEUP:
                  if(currentPage > 0)
-                         filterOptions(currentPage - 1);
+                         filterOptions(currentPage - 1, lastFilter);
                  break;
               case KeyboardListener.KEY_ENTER:
               case KeyboardListener.KEY_TAB:
@@ -320,8 +324,7 @@ public class IFilterSelect extends Composite implements Paintable, KeyboardListe
         * Listener for popupopener
         */
        public void onClick(Widget sender) {
-               filterOptions(0);
-               this.suggestionPopup.showSuggestions(currentSuggestions, currentPage, totalSuggestions);
+               filterOptions(0, "");
                tb.setFocus(true);
                tb.selectAll();
        }