2828import com .google .gwt .event .shared .HandlerRegistration ;
2929import com .google .gwt .user .client .ui .HasValue ;
3030import com .google .gwt .user .client .ui .UIObject ;
31+ import com .google .gwt .user .client .ui .Widget ;
3132import gwt .material .design .client .base .error .ErrorHandler ;
3233import gwt .material .design .client .base .error .ErrorHandlerType ;
3334import gwt .material .design .client .base .error .HasErrorHandler ;
4445
4546import java .util .List ;
4647
47- public abstract class AbstractValueWidget <V > extends MaterialWidget implements HasValue <V >, LeafValueEditor <V >,
48+ public abstract class AbstractValueWidget <V > extends MaterialWidget implements HasResetField , HasValue <V >, LeafValueEditor <V >,
4849 HasEditorErrors <V >, HasErrorHandler , HasStatusText , HasValidators <V >, HasRequiredField , HasClearOnKeyUp , HasCopyCommand {
4950
5051 private V initialValue ;
@@ -55,6 +56,7 @@ public abstract class AbstractValueWidget<V> extends MaterialWidget implements H
5556 private StatusTextMixin <AbstractValueWidget , ?> statusTextMixin ;
5657 private ErrorHandlerMixin <V > errorHandlerMixin ;
5758 private RequiredFieldMixin <AbstractValueWidget , UIObject > requiredFieldMixin ;
59+ private ResetFieldMixin <Widget > resetFieldMixin ;
5860 private ClearOnKeyUpMixin <AbstractValueWidget , MaterialLabel > clearOnKeyUpMixin ;
5961 private HandlerRegistration attachHandler , blurHandler ;
6062 protected CopyCommandMixin <AbstractValueWidget > copyCommandMixin ;
@@ -151,6 +153,22 @@ public boolean isSuccessTextVisible() {
151153 return getStatusTextMixin ().isSuccessTextVisible ();
152154 }
153155
156+ @ Override
157+ public void resetFields () {
158+ getResetFieldMixin ().resetFields ();
159+ getValidatorMixin ().reset ();
160+ }
161+
162+ @ Override
163+ public void setAllowResettingFields (boolean allowResettingFields ) {
164+ getResetFieldMixin ().setAllowResettingFields (allowResettingFields );
165+ }
166+
167+ @ Override
168+ public boolean isAllowResettingFields () {
169+ return getResetFieldMixin ().isAllowResettingFields ();
170+ }
171+
154172 @ Override
155173 public void setStatusDisplayType (StatusDisplayType displayType ) {
156174 getStatusTextMixin ().setStatusDisplayType (displayType );
@@ -432,4 +450,11 @@ protected CopyCommandMixin<AbstractValueWidget> getCopyCommandMixin() {
432450 }
433451 return copyCommandMixin ;
434452 }
453+
454+ public ResetFieldMixin <Widget > getResetFieldMixin () {
455+ if (resetFieldMixin == null ) {
456+ resetFieldMixin = new ResetFieldMixin <>(this );
457+ }
458+ return resetFieldMixin ;
459+ }
435460}
0 commit comments