Search in sources :

Example 11 with Binder

use of com.vaadin.flow.data.binder.Binder in project docs by vaadin.

the class CrudBasic method createEditor.

private CrudEditor<Person> createEditor() {
    TextField firstName = new TextField("First name");
    TextField lastName = new TextField("Last name");
    EmailField email = new EmailField("Email");
    TextField profession = new TextField("Profession");
    FormLayout form = new FormLayout(firstName, lastName, email, profession);
    Binder<Person> binder = new Binder<>(Person.class);
    binder.forField(firstName).asRequired().bind(Person::getFirstName, Person::setFirstName);
    binder.forField(lastName).asRequired().bind(Person::getLastName, Person::setLastName);
    binder.forField(email).asRequired().bind(Person::getEmail, Person::setEmail);
    binder.forField(profession).asRequired().bind(Person::getProfession, Person::setProfession);
    return new BinderCrudEditor<>(binder, form);
}
Also used : FormLayout(com.vaadin.flow.component.formlayout.FormLayout) Binder(com.vaadin.flow.data.binder.Binder) EmailField(com.vaadin.flow.component.textfield.EmailField) TextField(com.vaadin.flow.component.textfield.TextField) BinderCrudEditor(com.vaadin.flow.component.crud.BinderCrudEditor) Person(com.vaadin.demo.domain.Person)

Example 12 with Binder

use of com.vaadin.flow.data.binder.Binder in project docs by vaadin.

the class CrudEditorAside method createEditor.

private CrudEditor<Person> createEditor() {
    TextField firstName = new TextField("First name");
    TextField lastName = new TextField("Last name");
    EmailField email = new EmailField("Email");
    TextField profession = new TextField("Profession");
    FormLayout form = new FormLayout(firstName, lastName, email, profession);
    Binder<Person> binder = new Binder<>(Person.class);
    binder.forField(firstName).asRequired().bind(Person::getFirstName, Person::setFirstName);
    binder.forField(lastName).asRequired().bind(Person::getLastName, Person::setLastName);
    binder.forField(email).asRequired().bind(Person::getEmail, Person::setEmail);
    binder.forField(profession).asRequired().bind(Person::getProfession, Person::setProfession);
    return new BinderCrudEditor<>(binder, form);
}
Also used : FormLayout(com.vaadin.flow.component.formlayout.FormLayout) Binder(com.vaadin.flow.data.binder.Binder) EmailField(com.vaadin.flow.component.textfield.EmailField) TextField(com.vaadin.flow.component.textfield.TextField) BinderCrudEditor(com.vaadin.flow.component.crud.BinderCrudEditor) Person(com.vaadin.demo.domain.Person)

Example 13 with Binder

use of com.vaadin.flow.data.binder.Binder in project docs by vaadin.

the class CrudEditorContent method createEditor.

// tag::snippet2[]
private CrudEditor<Person> createEditor() {
    TextField firstName = new TextField("First name");
    TextField lastName = new TextField("Last name");
    EmailField email = new EmailField("Email");
    ComboBox<String> profession = new ComboBox<>("Profession");
    profession.setItems(professions);
    FormLayout form = new FormLayout(firstName, lastName, email, profession);
    form.setColspan(email, 2);
    form.setColspan(profession, 2);
    form.setMaxWidth("480px");
    form.setResponsiveSteps(new FormLayout.ResponsiveStep("0", 1), new FormLayout.ResponsiveStep("30em", 2));
    Binder<Person> binder = new Binder<>(Person.class);
    binder.forField(firstName).asRequired().bind(Person::getFirstName, Person::setFirstName);
    binder.forField(lastName).asRequired().bind(Person::getLastName, Person::setLastName);
    binder.forField(email).asRequired().bind(Person::getEmail, Person::setEmail);
    binder.forField(profession).asRequired().bind(Person::getProfession, Person::setProfession);
    return new BinderCrudEditor<>(binder, form);
}
Also used : FormLayout(com.vaadin.flow.component.formlayout.FormLayout) Binder(com.vaadin.flow.data.binder.Binder) ComboBox(com.vaadin.flow.component.combobox.ComboBox) EmailField(com.vaadin.flow.component.textfield.EmailField) TextField(com.vaadin.flow.component.textfield.TextField) BinderCrudEditor(com.vaadin.flow.component.crud.BinderCrudEditor) Person(com.vaadin.demo.domain.Person)

Example 14 with Binder

use of com.vaadin.flow.data.binder.Binder in project docs by vaadin.

the class CrudSortingFiltering method createEditor.

private CrudEditor<Person> createEditor() {
    TextField firstName = new TextField("First name");
    TextField lastName = new TextField("Last name");
    TextField profession = new TextField("Profession");
    FormLayout form = new FormLayout(firstName, lastName, profession);
    Binder<Person> binder = new Binder<>(Person.class);
    binder.forField(firstName).asRequired().bind(Person::getFirstName, Person::setFirstName);
    binder.forField(lastName).asRequired().bind(Person::getLastName, Person::setLastName);
    binder.forField(profession).asRequired().bind(Person::getProfession, Person::setProfession);
    return new BinderCrudEditor<>(binder, form);
}
Also used : FormLayout(com.vaadin.flow.component.formlayout.FormLayout) Binder(com.vaadin.flow.data.binder.Binder) TextField(com.vaadin.flow.component.textfield.TextField) BinderCrudEditor(com.vaadin.flow.component.crud.BinderCrudEditor) Person(com.vaadin.demo.domain.Person)

Example 15 with Binder

use of com.vaadin.flow.data.binder.Binder in project ArchCNL by Mari-Wie.

the class ArchitecturalStyleForm method addToKnownTextField.

/**
 * Creates a TextField for an ArchitectureInformation including a Binder that holds the value.
 * The Binder is added to the Map of known Binders so that the values can be retrieved from
 * there.
 */
private void addToKnownTextField(ArchitectureInformation info) {
    TextField textField = new TextField(info.getName());
    Binder<ArchitectureInformation> infoBinder = new Binder<>(ArchitectureInformation.class, false);
    infoBinder.forField(textField).asRequired().bind(ArchitectureInformation::getValue, ArchitectureInformation::setValue);
    ungroupedArchitectureInformationBinders.put(info.getName(), infoBinder);
    ungroupedArchitectureInformation.add(textField);
}
Also used : Binder(com.vaadin.flow.data.binder.Binder) ArchitectureInformation(org.archcnl.domain.input.model.presets.ArchitectureInformation) TextField(com.vaadin.flow.component.textfield.TextField)

Aggregations

Binder (com.vaadin.flow.data.binder.Binder)36 TextField (com.vaadin.flow.component.textfield.TextField)29 FormLayout (com.vaadin.flow.component.formlayout.FormLayout)21 BinderCrudEditor (com.vaadin.flow.component.crud.BinderCrudEditor)15 Person (com.vaadin.demo.domain.Person)12 Div (com.vaadin.flow.component.html.Div)11 Button (com.vaadin.flow.component.button.Button)10 EmailField (com.vaadin.flow.component.textfield.EmailField)9 Route (com.vaadin.flow.router.Route)8 List (java.util.List)8 Grid (com.vaadin.flow.component.grid.Grid)7 Editor (com.vaadin.flow.component.grid.editor.Editor)7 ArrayList (java.util.ArrayList)7 Checkbox (com.vaadin.flow.component.checkbox.Checkbox)6 Collection (java.util.Collection)6 Collections (java.util.Collections)6 WeakHashMap (java.util.WeakHashMap)6 RichTextEditor (com.vaadin.flow.component.richtexteditor.RichTextEditor)5 EmailValidator (com.vaadin.flow.data.validator.EmailValidator)5 StringLengthValidator (com.vaadin.flow.data.validator.StringLengthValidator)5