2525import com .google .gwt .core .client .ScriptInjector ;
2626import com .google .gwt .dom .client .Document ;
2727import com .google .gwt .dom .client .Element ;
28+ import com .google .gwt .dom .client .Style ;
2829import com .google .gwt .editor .client .EditorError ;
2930import com .google .gwt .editor .client .HasEditorErrors ;
3031import com .google .gwt .event .dom .client .BlurEvent ;
4546import gwt .material .design .client .base .validator .HasValidators ;
4647import gwt .material .design .client .base .validator .ValidationChangedEvent .ValidationChangedHandler ;
4748import 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 .*;
5050import gwt .material .design .client .ui .html .DateInput ;
5151import gwt .material .design .client .ui .html .Label ;
5252
7474//@formatter:on
7575public 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