package org.vaadin.viritin.v7; import org.vaadin.viritin.it.*; import com.vaadin.server.UserError; import com.vaadin.ui.Component; import com.vaadin.ui.Notification; import org.vaadin.addonhelpers.AbstractTest; import org.vaadin.viritin.button.MButton; import org.vaadin.viritin.v7.fields.ClearableTextField; import org.vaadin.viritin.layouts.MPanel; import org.vaadin.viritin.layouts.MVerticalLayout; /** * * @author Niki */ public class ClearableTextFieldUsageV7 extends AbstractTest { @Override public Component getTestComponent() { ClearableTextField ctf = new ClearableTextField(); ctf.setCaption("CTF caption"); ctf.setInputPrompt("Enter text"); ctf.setValue("Some Text"); ctf.setImmediate(true); ctf.addValueChangeListener(e -> { Notification.show("Value: " + ctf.getValue()); }); MButton b = new MButton("Toggle required", e -> { ctf.setRequired(!ctf.isRequired()); }); MButton b2 = new MButton("Toggle error", e -> { if (ctf.getComponentError() == null) { ctf.setComponentError(new UserError("Must be filled")); } else { ctf.setComponentError(null); } }); MButton b3 = new MButton("Toggle readonly", e -> { ctf.setReadOnly(!ctf.isReadOnly()); }); MButton b4 = new MButton("Toggle enabled", e -> { ctf.setEnabled(!ctf.isEnabled()); }); return new MPanel() .withCaption("ClearableTextField") .withDescription("Click the X to clear…") .withFullWidth() .withFullHeight() .withContent(new MVerticalLayout(ctf, b, b2, b3, b4)); } }