Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/TableFilter.java @ 872:a7179e3a774e
Suppress the GeoJSON string to be drawn into the static UI.
flys-client/trunk@2693 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 12 Sep 2011 04:55:55 +0000 |
parents | d08cf5ed1bfc |
children | a77958780e1c |
line wrap: on
line source
package de.intevation.flys.client.client.ui; import java.util.ArrayList; import java.util.List; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.form.fields.events.KeyPressEvent; import com.smartgwt.client.widgets.form.fields.events.KeyPressHandler; import com.smartgwt.client.widgets.layout.HLayout; import de.intevation.flys.client.client.event.FilterHandler; import de.intevation.flys.client.client.event.StringFilterEvent; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class TableFilter extends HLayout implements ChangedHandler, ClickHandler, KeyPressHandler { public static final String SEARCH_FIELD = "searchfield"; protected List<FilterHandler> handlers; protected TextItem searchfield; public TableFilter() { super(); searchfield = new TextItem(SEARCH_FIELD); handlers = new ArrayList<FilterHandler>(); searchfield.addChangedHandler(this); searchfield.addKeyPressHandler(this); DynamicForm form = new DynamicForm(); form.setFields(searchfield); IButton clear = new IButton("Clear"); clear.addClickHandler(this); addMember(form); addMember(clear); } public void onChanged(ChangedEvent event) { // This event handler is to slow... // fireFilterCriteriaChanged(getSearchString()); } public void onKeyPress(KeyPressEvent event) { //To deactivate "As you type" filter add // ' && event.getKeyName().equals("Enter")' // to the if-clause. if (event != null) { fireFilterCriteriaChanged(getSearchString()); } } public void onClick(ClickEvent event) { searchfield.setValue(""); fireFilterCriteriaChanged(""); } public void clearSearch() { searchfield.setValue(""); } public String getSearchString() { return searchfield.getValueAsString(); } public void addFilterHandler(FilterHandler handler) { if (handler != null) { handlers.add(handler); } } protected void fireFilterCriteriaChanged(String searchstring) { StringFilterEvent filter = new StringFilterEvent(searchstring); for (FilterHandler handler: handlers) { handler.onFilterCriteriaChanged(filter); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :