package org.vaadin.viritin.v7;
import com.vaadin.annotations.Theme;
import com.vaadin.ui.Component;
import java.util.List;
import org.vaadin.addonhelpers.AbstractTest;
import org.vaadin.viritin.LazyList;
import org.vaadin.viritin.v7.fields.MTable;
import org.vaadin.viritin.testdomain.Person;
import org.vaadin.viritin.testdomain.Service;
/**
*
* @author Matti Tahvonen
*/
@Theme("valo")
public class MTableLazyLoadingEmptyList extends AbstractTest {
@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> findEntities(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.class).lazyLoadFrom(
// new LazyList.PagingProvider<Person>() {
//
// @Override
// public List<Person> findEntities(int firstRow) {
// return backingList.subList(firstRow, 0);
// }
// },
// new LazyList.CountProvider() {
//
// @Override
// public int size() {
// return 0;
// }
// }
// );
return mTable;
}
}