package ru.codeinside.adm.ui;
import com.vaadin.terminal.Sizeable;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.TabSheet;
import com.vaadin.ui.Upload;
import com.vaadin.ui.VerticalLayout;
final class ServicesTab extends VerticalLayout implements TabSheet.SelectedTabChangeListener {
final ServicesTable servicesTable;
ServicesTab() {
servicesTable = new ServicesTable();
setSizeFull();
setSpacing(true);
setMargin(true);
UploadDeployer uploader = new UploadDeployer(servicesTable);
Upload upload = new Upload("Установка модуля", uploader);
upload.setDescription("Выберите OSGI модуль (файл с раширением jar),\nреализующий интерфейс поставщика СМЭВ");
upload.addListener(uploader);
upload.setButtonCaption("Загрузить");
upload.setWidth(100, Sizeable.UNITS_PERCENTAGE);
HorizontalLayout margin = new HorizontalLayout();
VerticalLayout vl = new VerticalLayout();
FormLayout c = new FormLayout();
c.setMargin(false, false, false, true);
vl.addComponent(c);
margin.addComponent(upload);
margin.setSpacing(true);
margin.addComponent(vl);
margin.setSizeFull();
addComponent(margin);
addComponent(servicesTable);
setExpandRatio(margin, 0.1f);
setExpandRatio(servicesTable, 0.9f);
}
@Override
public void selectedTabChange(TabSheet.SelectedTabChangeEvent event) {
if (this == event.getTabSheet().getSelectedTab()) {
servicesTable.reload();
}
}
}