Search in sources :

Example 1 with Car

use of org.linkki.samples.dynamicfield.model.Car in project linkki by linkki-framework.

the class DynamicFieldUI method init.

@Override
protected void init(VaadinRequest request) {
    Page.getCurrent().setTitle("Linkki :: Dynamic Fields Sample");
    List<Car> carStorage = getCarStorage();
    BindingContext bindingContext = new BindingContext();
    TableSection<CarRowPmo> table = new DefaultPmoBasedSectionFactory().createTableSection(new CarTablePmo(carStorage, () -> new NewCarDialog(carStorage, bindingContext::updateUI)), bindingContext);
    setContent(table);
}
Also used : NewCarDialog(org.linkki.samples.dynamicfield.components.NewCarDialog) DefaultPmoBasedSectionFactory(org.linkki.core.ui.section.DefaultPmoBasedSectionFactory) Car(org.linkki.samples.dynamicfield.model.Car) CarTablePmo(org.linkki.samples.dynamicfield.pmo.CarTablePmo) BindingContext(org.linkki.core.binding.BindingContext) CarRowPmo(org.linkki.samples.dynamicfield.pmo.CarRowPmo)

Example 2 with Car

use of org.linkki.samples.dynamicfield.model.Car in project linkki by linkki-framework.

the class DynamicFieldUI method getCarStorage.

// some fake persistent storage
// store the cars in the session so it is available after a browser
// refresh as long as we are in the same session
private List<Car> getCarStorage() {
    List<Car> carStorage;
    WrappedSession session = CurrentInstance.get(VaadinSession.class).getSession();
    @SuppressWarnings("unchecked") List<Car> storage = (List<Car>) session.getAttribute(CAR_STORAGE_ATTRIBUTE);
    if (storage != null) {
        carStorage = storage;
    } else {
        carStorage = new ArrayList<>();
        addCars(carStorage);
        session.setAttribute(CAR_STORAGE_ATTRIBUTE, carStorage);
    }
    return carStorage;
}
Also used : VaadinSession(com.vaadin.server.VaadinSession) Car(org.linkki.samples.dynamicfield.model.Car) WrappedSession(com.vaadin.server.WrappedSession) ArrayList(java.util.ArrayList) List(java.util.List)

Example 3 with Car

use of org.linkki.samples.dynamicfield.model.Car in project linkki by linkki-framework.

the class DynamicFieldUI method createCar.

private Car createCar(CarType carType, String make, String model, double retention) {
    Car car = new Car(carType);
    car.setMake(make);
    car.setModel(model);
    car.setRetention(retention);
    return car;
}
Also used : Car(org.linkki.samples.dynamicfield.model.Car)

Aggregations

Car (org.linkki.samples.dynamicfield.model.Car)3 VaadinSession (com.vaadin.server.VaadinSession)1 WrappedSession (com.vaadin.server.WrappedSession)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 BindingContext (org.linkki.core.binding.BindingContext)1 DefaultPmoBasedSectionFactory (org.linkki.core.ui.section.DefaultPmoBasedSectionFactory)1 NewCarDialog (org.linkki.samples.dynamicfield.components.NewCarDialog)1 CarRowPmo (org.linkki.samples.dynamicfield.pmo.CarRowPmo)1 CarTablePmo (org.linkki.samples.dynamicfield.pmo.CarTablePmo)1