package pl.touk.tola.gwt.client.widgets;
import com.extjs.gxt.ui.client.data.PagingLoader;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.widget.form.DateField;
import com.extjs.gxt.ui.client.widget.form.DateTimePropertyEditor;
import com.google.gwt.core.client.GWT;
import pl.touk.tola.gwt.client.widgets.DateTimeFormatsUtils;
import java.util.Date;
public class DateFilterField extends DateField {
protected Date currentFilterValue = null;
PagingLoader pagingLoader;
public DateFilterField(PagingLoader pagingLoader) {
setAutoValidate(true);
setValidateOnBlur(false);
setWidth(112);
setPropertyEditor(new DateTimePropertyEditor(
DateTimeFormatsUtils.DATE_FORMAT));
this.pagingLoader = pagingLoader;
}
@Override
protected void onTriggerClick(ComponentEvent ce) {
//super.onTriggerClick(ce);
GWT.log("on tc " + ce.getType() + " " + ce, null);
setValue(null);
//onFilter();
}
protected void onClick(ComponentEvent ce) {
GWT.log("on click " + ce.getType() + " " + ce, null);
super.onTriggerClick(ce);
//onFilter();
}
protected void onCompositeEvent(ComponentEvent ce) {
GWT.log("Handle event ce - " + ce.getType() + " " + ce, null);
// Ten fragment kodu nie zostal zmigrowany do wersji 1.6.
//if (ce.getEventType() == Event.ONCHANGE) {
// onFilter();
//}
}
@Override
protected boolean validateValue(String value) {
boolean ret = super.validateValue(value);
GWT.log("validate --- " + getValue(), null);
onFilter();
return ret;
}
protected void onFilter() {
GWT.log("On filter" + getValue(), null);
currentFilterValue = getValue();
if (currentFilterValue != null) {
pagingLoader.load();
}
}
public Date getCurrentFilterValue() {
return currentFilterValue;
}
}