package org.vaadin.viritin.fluency.ui;
import com.vaadin.data.HasValue;
import com.vaadin.shared.ui.ValueChangeMode;
import com.vaadin.ui.AbstractTextField;
public interface FluentTextField<S extends FluentTextField<S>>
extends FluentAbstractField<S, String>, FluentHasValueChangeMode<S> {
/**
* @deprecated Use withPlaceholder instead
* @param inputPrompt the input prompt
* @return this for method chaining
*/
public default S withInputPrompt(String inputPrompt) {
((AbstractTextField) this).setPlaceholder(inputPrompt);
return (S) this;
}
/**
* Sets the placeholder text for the field.
*
* @see AbstractTextField#setPlaceholder(java.lang.String)
* @param placeholder the placeholder text to be used
* @return this for method chaining
*/
public default S withPlaceholder(String placeholder) {
((AbstractTextField) this).setPlaceholder(placeholder);
return (S) this;
}
public default S addTextChangeListener(HasValue.ValueChangeListener<String> l) {
((AbstractTextField) this).addValueChangeListener(l);
((AbstractTextField) this).setValueChangeMode(ValueChangeMode.LAZY);
return (S) this;
}
}