Skip to content

Commit 66e290a

Browse files
committed
Material DatePicker - Added icon support for the input field.
1 parent 50acc77 commit 66e290a

File tree

1 file changed

+47
-3
lines changed

1 file changed

+47
-3
lines changed

gwt-material/src/main/java/gwt/material/design/client/ui/MaterialDatePicker.java

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.gwt.core.client.ScriptInjector;
2626
import com.google.gwt.dom.client.Document;
2727
import com.google.gwt.dom.client.Element;
28+
import com.google.gwt.dom.client.Style;
2829
import com.google.gwt.editor.client.EditorError;
2930
import com.google.gwt.editor.client.HasEditorErrors;
3031
import com.google.gwt.event.dom.client.BlurEvent;
@@ -45,8 +46,7 @@
4546
import gwt.material.design.client.base.validator.HasValidators;
4647
import gwt.material.design.client.base.validator.ValidationChangedEvent.ValidationChangedHandler;
4748
import gwt.material.design.client.base.validator.Validator;
48-
import gwt.material.design.client.constants.DatePickerLanguage;
49-
import gwt.material.design.client.constants.Orientation;
49+
import gwt.material.design.client.constants.*;
5050
import gwt.material.design.client.ui.html.DateInput;
5151
import gwt.material.design.client.ui.html.Label;
5252

@@ -74,7 +74,7 @@
7474
//@formatter:on
7575
public class MaterialDatePicker extends MaterialWidget implements HasGrid, HasError, HasOrientation, HasPlaceholder,
7676
HasValue<Date>, HasOpenHandlers<MaterialDatePicker>, HasCloseHandlers<MaterialDatePicker>, HasEditorErrors<Date>,
77-
HasErrorHandler, HasValidators<Date>, HasBlankValidator, HasBlurHandlers {
77+
HasErrorHandler, HasValidators<Date>, HasBlankValidator, HasBlurHandlers, HasIcon {
7878

7979
/**
8080
* Enum for identifying various selection types for the picker.
@@ -107,6 +107,7 @@ public enum MaterialDatePickerType {
107107
private final BlankValidatorMixin<MaterialDatePicker, Date> validatorMixin = new BlankValidatorMixin<>(this, errorHandlerMixin.getErrorHandler());
108108

109109
private boolean initialized = false;
110+
private MaterialIcon icon = new MaterialIcon();
110111

111112
public MaterialDatePicker() {
112113
super(Document.get().createDivElement(), "input-field");
@@ -622,4 +623,47 @@ public void stop() {
622623
protected native void stop(Element picker) /*-{
623624
picker.pickadate('picker').stop();
624625
}-*/;
626+
627+
@Override
628+
public MaterialIcon getIcon() {
629+
return icon;
630+
}
631+
632+
@Override
633+
public void setIconType(IconType iconType) {
634+
icon.setIconType(iconType);
635+
icon.setIconPrefix(true);
636+
lblError.setPaddingLeft(44);
637+
insert(icon, 0);
638+
}
639+
640+
@Override
641+
public void setIconPosition(IconPosition position) {
642+
icon.setIconPosition(position);
643+
}
644+
645+
@Override
646+
public void setIconSize(IconSize size) {
647+
icon.setIconSize(size);
648+
}
649+
650+
@Override
651+
public void setIconFontSize(double size, Style.Unit unit) {
652+
icon.setIconFontSize(size, unit);
653+
}
654+
655+
@Override
656+
public void setIconColor(String iconColor) {
657+
icon.setIconColor(iconColor);
658+
}
659+
660+
@Override
661+
public void setIconPrefix(boolean prefix) {
662+
icon.setIconPrefix(prefix);
663+
}
664+
665+
@Override
666+
public boolean isIconPrefix() {
667+
return icon.isIconPrefix();
668+
}
625669
}

0 commit comments

Comments
 (0)