org.vaadin.viritinv7.fields.MTable - java examples

Here are the examples of the java api org.vaadin.viritinv7.fields.MTable taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

11 Examples 7

18 View Complete Implementation : MTableLazyLoading.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    MTable<Person> g = new MTable<>(new LazyList.PagingProvider<Person>() {

        private static final long serialVersionUID = -9072230332041322210L;

        @Override
        public List<Person> findEnreplacedies(int firstRow) {
            return Service.findAll(firstRow, LazyList.DEFAULT_PAGE_SIZE);
        }
    }, new LazyList.CountProvider() {

        private static final long serialVersionUID = -6915320247020779461L;

        @Override
        public int size() {
            return (int) Service.count();
        }
    });
    return g;
}

18 View Complete Implementation : MTableWithRowClickListener.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final MTable<NestedPropertyTest.Enreplacedy> table = new MTable(NestedPropertyTest.getEnreplacedies(3)).withProperties("id", "property", // "property" field from object in "detail" field
    "detail.property", // third object from collection in field "integers"
    "numbers[2]", // Integer with key "foo" from map stringToInteger
    "stringToInteger(foo)", "detailList[1].detail2.property", "detailList[1].moreDetails[1].property").withHeight("300px").expandFirstColumn();
    table.refreshRowCache();
    final Form form = new Form();
    form.setSavedHandler(new AbstractForm.SavedHandler<NestedPropertyTest.Enreplacedy>() {

        private static final long serialVersionUID = 5841730427136575503L;

        @Override
        public void onSave(NestedPropertyTest.Enreplacedy enreplacedy) {
            table.refreshRowCache();
        }
    });
    table.addRowClickListener(new MTable.RowClickListener<NestedPropertyTest.Enreplacedy>() {

        private static final long serialVersionUID = -5651811812313380992L;

        @Override
        public void rowClick(MTable.RowClickEvent<NestedPropertyTest.Enreplacedy> event) {
            form.setEnreplacedy(event.getEnreplacedy());
            table.setValue(event.getEnreplacedy());
        }
    });
    return new MVerticalLayout(table, form);
}

17 View Complete Implementation : MTableLazyLoadingEmptyList.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final List<Person> backingList = Service.getListOfPersons(0);
    MTable<Person> mTable = new MTable<>(new LazyList.PagingProvider<Person>() {

        private static final long serialVersionUID = 4212839156216191152L;

        @Override
        public List<Person> findEnreplacedies(int firstRow) {
            return backingList.subList(firstRow, 0);
        }
    }, new LazyList.CountProvider() {

        private static final long serialVersionUID = -3958524394327292732L;

        @Override
        public int size() {
            return 0;
        }
    }).withProperties("firstName", "lastName", "email");
    mTable.withFullWidth().withHeight("300px");
    // Alternative way, with explicitly defined bean type
    // mTable = new MTable<Person>(Person.clreplaced).lazyLoadFrom(
    // new LazyList.PagingProvider<Person>() {
    // 
    // @Override
    // public List<Person> findEnreplacedies(int firstRow) {
    // return backingList.subList(firstRow, 0);
    // }
    // },
    // new LazyList.CountProvider() {
    // 
    // @Override
    // public int size() {
    // return 0;
    // }
    // }
    // );
    return mTable;
}

17 View Complete Implementation : MTableWithNestedProperty.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final MTable<NestedPropertyTest.Enreplacedy> table = new MTable(NestedPropertyTest.getEnreplacedies(3)).withProperties("id", "property", // "property" field from object in "detail" field
    "detail.property", // third object from collection in field "integers"
    "numbers[2]", // Integer with key "foo" from map stringToInteger
    "stringToInteger(foo)", "detailList[1].detail2.property", "detailList[1].moreDetails[1].property").withHeight("300px");
    final Form form = new Form();
    form.setSavedHandler(new AbstractForm.SavedHandler<NestedPropertyTest.Enreplacedy>() {

        private static final long serialVersionUID = 5142651230686909799L;

        @Override
        public void onSave(NestedPropertyTest.Enreplacedy enreplacedy) {
            table.refreshRowCache();
        }
    });
    table.addMValueChangeListener(new MValueChangeListener<NestedPropertyTest.Enreplacedy>() {

        private static final long serialVersionUID = -2918207986940924806L;

        @Override
        public void valueChange(MValueChangeEvent<NestedPropertyTest.Enreplacedy> event) {
            if (event.getValue() != null) {
                form.setEnreplacedy(event.getValue());
            }
        }
    });
    return new MVerticalLayout(table, form);
}

17 View Complete Implementation : SortingWithCollections.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final List<Person> listOfPersons = Service.getListOfPersons(100);
    final MTable<Person> table = new MTable(listOfPersons);
    // If the underlaying "property" is not sortable by default, you can
    // explicitly make it sortable via UI
    // table.setSortableProperties("foo", "bar",...);
    table.addSortListener(new MTable.SortListener() {

        @Override
        public void onSort(final MTable.SortEvent event) {
            // Skip default Vaadin proprietary container level sorting
            event.preventContainerSort();
            // Use std JDK API, alternatively you could fetch a new sorted
            // list from your backend here and replace content
            Collections.sort(listOfPersons, new Comparator<Person>() {

                @Override
                public int compare(Person o1, Person o2) {
                    String sortProperty = event.getSortProperty();
                    /**
                     * You could do anything you want here. Here just
                     * use BeanComparator from commons-beanutils
                     */
                    BeanComparator<Person> beanComparator = new BeanComparator<>();
                    beanComparator.setProperty(sortProperty);
                    if (event.isSortAscending()) {
                        return beanComparator.compare(o1, o2);
                    } else {
                        return -beanComparator.compare(o1, o2);
                    }
                }
            });
            // Notify Table that its content has changed
            table.refreshRowCache();
        }
    });
    return table;
}

16 View Complete Implementation : MTableGeneratedColumnOrder.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    MTable<Person> g = new MTable<>(Person.clreplaced).withGeneratedColumn("age", p -> p.getAge() + " years").withProperties("age", "firstName", "lastName").withColumnHeaders("Ikä/Age", "Etu/First", "Suku/Last").lazyLoadFrom(firstRow -> Service.findAll(firstRow, LazyList.DEFAULT_PAGE_SIZE), () -> (int) Service.count());
    return g;
}

16 View Complete Implementation : MTableGeneratedColumnOrder2.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    MTable<Person> g = new MTable<>();
    g.withGeneratedColumn("age", p -> p.getAge() + " years");
    g.withProperties("age", "firstName", "lastName");
    g.withColumnHeaders("Ikä/Age", "Etu/First", "Suku/Last");
    g.lazyLoadFrom(firstRow -> Service.findAll(firstRow, LazyList.DEFAULT_PAGE_SIZE), () -> (int) Service.count());
    return new MVerticalLayout(g);
}

15 View Complete Implementation : MTableLazyLoadingWithEntityAspect.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    Random r = new Random(0);
    final List<User> listOfPersons = Service.getListOfPersons(1000).stream().map(person -> {
        User u = new User(person);
        u.setLocale(r.nextBoolean() ? Locale.ENGLISH : Locale.FRENCH);
        return u;
    }).collect(Collectors.toList());
    MTable<User> table = new MTable<>((firstRow, sortAscending, property) -> {
        if (property != null) {
            if (property.equals("localizedSalutation")) {
                Collections.sort(listOfPersons, new Comparator<User>() {

                    @Override
                    public int compare(User o1, User o2) {
                        return localizedSalutation(o1).compareTo(localizedSalutation(o2));
                    }
                });
            } else {
                Collections.sort(listOfPersons, new BeanComparator<>(property));
            }
            if (!sortAscending) {
                Collections.reverse(listOfPersons);
            }
        }
        int last = firstRow + LazyList.DEFAULT_PAGE_SIZE;
        if (last > listOfPersons.size()) {
            last = listOfPersons.size();
        }
        return new ArrayList<User>(listOfPersons.subList(firstRow, last));
    }, () -> (int) Service.count()).withProperties("localizedSalutation", "locale", "person.firstName", "person.lastName").withColumnHeaders("Salutation", "Locale", "Forename", "Name").withFullWidth().withGeneratedColumn("localizedSalutation", u -> localizedSalutation(u));
    return table;
}

15 View Complete Implementation : MTableLazyLoadingWithSorting.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final List<Person> orig = Service.getListOfPersons(1000);
    MTable<Person> g = new MTable<>(new SortableLazyList.SortablePagingProvider<Person>() {

        private static final long serialVersionUID = 5276735386651186011L;

        @Override
        public List<Person> findEnreplacedies(int firstRow, boolean sortAscending, String property) {
            List<Person> listOfPersons = new ArrayList<>(orig);
            if (property != null) {
                Collections.sort(listOfPersons, new BeanComparator<>(property));
                if (!sortAscending) {
                    Collections.reverse(listOfPersons);
                }
            }
            int last = firstRow + LazyList.DEFAULT_PAGE_SIZE;
            if (last > listOfPersons.size()) {
                last = listOfPersons.size();
            }
            return new ArrayList<>(listOfPersons.subList(firstRow, last));
        }
    }, new LazyList.CountProvider() {

        private static final long serialVersionUID = -3920880835334547231L;

        @Override
        public int size() {
            return (int) Service.count();
        }
    });
    Button b = new Button("Reset loading strategy (should maintain sorting)");
    b.addClickListener(e -> {
        g.lazyLoadFrom((int firstRow, boolean sortAscending, String property) -> {
            List<Person> listOfPersons = new ArrayList<>(orig);
            if (property != null) {
                Collections.sort(listOfPersons, new BeanComparator<>(property));
                if (!sortAscending) {
                    Collections.reverse(listOfPersons);
                }
            }
            int last = firstRow + LazyList.DEFAULT_PAGE_SIZE;
            if (last > listOfPersons.size()) {
                last = listOfPersons.size();
            }
            return new ArrayList<>(listOfPersons.subList(firstRow, last));
        }, () -> (int) Service.count());
    });
    return new MVerticalLayout(b, g);
}

15 View Complete Implementation : MTableWithTraditionalPaging.java
Copyright Apache License 2.0
Author : viritin
@Override
public Component getTestComponent() {
    final int pageSize = 10;
    final long results = Service.count();
    final MTable<Person> table = new MTable<>(Person.clreplaced);
    table.setPageLength(10);
    // set the initial content
    table.setBeans(Service.findAll(0, pageSize));
    // create a paginationBar
    PaginationBar paginationBar = new PaginationBar(new PaginationBar.PagingListener() {

        @Override
        public void pageRequested(int page) {
            // reset the proper content to table
            // when page is changed by user
            int firstResult = page * pageSize;
            table.setBeans(Service.findAll(firstResult, pageSize));
        }
    }, pageSize, results);
    return new MVerticalLayout(table, paginationBar).withWidth("");
}

11 View Complete Implementation : TableUsageExample.java
Copyright Apache License 2.0
Author : viritin
public void tableAsBeanSelector() {
    Table table = new Table();
    BeanItemContainer<Enreplacedy> beanItemContainer = new BeanItemContainer<>(Enreplacedy.clreplaced);
    beanItemContainer.addAll(findBeans());
    table.setContainerDataSource(beanItemContainer);
    table.setVisibleColumns("property", "another");
    table.setColumnHeaders("Property 1", "Second");
    table.setSelectable(true);
    table.setImmediate(true);
    table.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            Enreplacedy enreplacedy = (Enreplacedy) event.getProperty().getValue();
            editEnreplacedy(enreplacedy);
        }
    });
    MTable<Enreplacedy> t = new MTable(findBeans()).withProperties("property", "another").withColumnHeaders("Property 1", "Second").withValueChangeListener(new MValueChangeListener<Enreplacedy>() {

        private static final long serialVersionUID = 382491506910830168L;

        @Override
        public void valueChange(MValueChangeEvent<Enreplacedy> event) {
            editEnreplacedy(event.getValue());
        }
    });
}