/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2013, MPL CodeInside http://codeinside.ru */ package ru.codeinside.gses.manager.processdefeniton; import ru.codeinside.adm.ui.LazyLoadingContainer2; import com.vaadin.data.Container; import com.vaadin.data.Container.ItemSetChangeEvent; import com.vaadin.ui.Component; import com.vaadin.ui.Table; import com.vaadin.ui.VerticalLayout; public class ProcessDefenitionTable extends VerticalLayout { private static final long serialVersionUID = -3060552897820352215L; private static final String[] NAMES = new String[] { "Версия", "Статус", "Изменен", "Пользователь", " ", " " }; private LazyLoadingContainer2 container; public LazyLoadingContainer2 getTableContainer(){ return container; } public ProcessDefenitionTable(String procedureId, LazyLoadingContainer2 proceduresContainer) { final Table listAp = new Table(); Container.ItemSetChangeListener listener = new Container.ItemSetChangeListener() { private static final long serialVersionUID = 1391138329800139622L; @Override public void containerItemSetChange(ItemSetChangeEvent event) { listAp.refreshRowCache(); } }; LazyLoadingContainer2 newDataSource = new LazyLoadingContainer2(new ProcessDefenitionQuery(procedureId, proceduresContainer)); newDataSource.addListener(listener); container = newDataSource; listAp.setContainerDataSource(newDataSource); listAp.addContainerProperty("version", Component.class, ""); listAp.addContainerProperty("status", Component.class, ""); listAp.addContainerProperty("date", String.class, ""); listAp.addContainerProperty("user", String.class, ""); listAp.addContainerProperty("getRoute", Component.class, ""); listAp.addContainerProperty("download", Component.class, ""); listAp.setColumnExpandRatio("download", 1f); listAp.sort(new String[] { "version" }, new boolean[] { false }); listAp.setHeight("220px"); listAp.setWidth("100%"); listAp.setSortDisabled(true); listAp.setColumnHeaders(NAMES); listAp.setColumnWidth("status", 255); listAp.setColumnExpandRatio("version", 0.08f); // listAp.setColumnExpandRatio("status", 0.3f); listAp.setColumnExpandRatio("date", 0.1f); listAp.setColumnExpandRatio("user", 0.1f); listAp.setColumnExpandRatio("download", 0.4f); addComponent(listAp); } }