protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
public void showResults(LiveSearchResults<TYPE> results) { view.clearItems(); if (results.isEmpty()) { view.noItems(notFoundMessage); } else { results.forEach(LiveSearchDropDown.this::getSelectorItemForEntry); } }
@Override public void search(String pattern, int maxResults, LiveSearchCallback<String> callback) { LiveSearchResults results = new LiveSearchResults(priorityItemList).sortByKey(); callback.afterSearch(results); }
public void setSelectedItem(final TYPE key) { searchService.searchEntry(key, results -> { if(results.size() == 1) { LiveSearchEntry<TYPE> entry = results.get(0); changeCallbackEnabled = false; LiveSearchSelectorItem<TYPE> item = getSelectorItemForEntry(entry); selectionHandler.selectItem(item); item.select(); view.clearItems(); lastSearch = null; changeCallbackEnabled = true; } }); }
public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
protected void addNewItem(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> itemInstance = liveSearchSelectorItems.get(); itemInstance.init(entry.getKey(), entry.getValue()); selectionHandler.selectItem(itemInstance); searchCache.clear(); String pattern = lastSearch; lastSearch = null; search(pattern); view.restoreFooter(); }
private boolean processError(LiveSearchCallback<String> callback) { callback.afterSearch(new LiveSearchResults<>()); return false; }
public LiveSearchSelectorItem<TYPE> getSelectorItemForEntry(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> item = liveSearchSelectorItems.get(); item.init(entry.getKey(), entry.getValue()); selectionHandler.registerItem(item); view.addItem(item); return item; }
public void clear() { lastSearch = null; view.clearSearch(); view.clearItems(); view.setDropDownText(selectorHint); }
void onItemsShown() { Scheduler.get().scheduleDeferred(() -> { search(lastSearch); view.restoreFooter(); }); }
public String getSelectedValue() { if(selectedItem != null) { return selectedItem.getValue(); } return null; }
public LiveSearchResults sortByValue() { sort(_byValue); return this; } }
/** * For facilitating testing */ SingleLiveSearchSelectionHandler<String> newVariableSelectionHandler() { return new SingleLiveSearchSelectionHandler<>(); }
public void setSelectedItem(final TYPE key) { searchService.searchEntry(key, results -> { if(results.size() == 1) { LiveSearchEntry<TYPE> entry = results.get(0); changeCallbackEnabled = false; LiveSearchSelectorItem<TYPE> item = getSelectorItemForEntry(entry); selectionHandler.selectItem(item); item.select(); view.clearItems(); lastSearch = null; changeCallbackEnabled = true; } }); }
public boolean add(String key, String value) { if (maxEntries <= 0 || size() < maxEntries) { LiveSearchEntry entry = new LiveSearchEntry(key, value); return this.add(entry); } return false; }
@Override public void search(String pattern, int maxResults, LiveSearchCallback<String> callback) { LiveSearchResults results = new LiveSearchResults(priorityItemList).sortByKey(); callback.afterSearch(results); }
protected void addNewItem(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> itemInstance = liveSearchSelectorItems.get(); itemInstance.init(entry.getKey(), entry.getValue()); selectionHandler.selectItem(itemInstance); searchCache.clear(); String pattern = lastSearch; lastSearch = null; search(pattern); view.restoreFooter(); }
public LiveSearchSelectorItem<TYPE> getSelectorItemForEntry(LiveSearchEntry<TYPE> entry) { LiveSearchSelectorItem<TYPE> item = liveSearchSelectorItems.get(); item.init(entry.getKey(), entry.getValue()); selectionHandler.registerItem(item); view.addItem(item); return item; }
protected void doSearch(String pattern) { view.searchInProgress(searchHint); searchService.search(lastSearch, maxItems, results -> { addToSearchCache(pattern, results); showResults(results); view.searchFinished(); }); }
public void showResults(LiveSearchResults<TYPE> results) { view.clearItems(); if (results.isEmpty()) { view.noItems(notFoundMessage); } else { results.forEach(LiveSearchDropDown.this::getSelectorItemForEntry); } }