"width", "");
setPopupPositionAndShow(this);
+
}
private void setNextButtonActive(boolean b) {
}
} else if (item != null
&& !"".equals(lastFilter)
- && item.getText().toLowerCase().startsWith(
- lastFilter.toLowerCase())) {
+ && (filteringmode == FILTERINGMODE_CONTAINS ? item
+ .getText().toLowerCase().contains(
+ lastFilter.toLowerCase()) : item.getText()
+ .toLowerCase().startsWith(lastFilter.toLowerCase()))) {
doItemAction(item, true);
} else {
// currentSuggestion has key="" for nullselection
private boolean enabled;
private boolean readonly;
+ private int filteringmode = FILTERINGMODE_OFF;
+
// shown in unfocused empty field, disappears on focus (e.g "Search here")
private static final String CLASSNAME_PROMPT = "prompt";
private static final String ATTR_INPUTPROMPT = "prompt";
tb.setTabIndex(uidl.getIntAttribute("tabindex"));
}
+ if (uidl.hasAttribute("filteringmode")) {
+ filteringmode = uidl.getIntAttribute("filteringmode");
+ }
+
immediate = uidl.hasAttribute("immediate");
nullSelectionAllowed = uidl.hasAttribute("nullselect");
if (suggestionPopup.isAttached()) {
filterOptions(currentPage);
}
+ if (currentSuggestions.size() == 1 && !allowNewItem) {
+ // If there is only one suggestion, select that
+ suggestionPopup.menu.selectItem((MenuItem) suggestionPopup.menu
+ .getItems().get(0));
+ }
suggestionPopup.menu.doSelectedItemAction();
break;
}