package org.tltv.gantt.demo.util;
import org.tltv.gantt.Gantt;
import org.tltv.gantt.demo.TableGanttLayout;
import org.tltv.gantt.demo.TreeTableGanttLayout;
import com.vaadin.ui.Component;
import com.vaadin.ui.TabSheet;
import com.vaadin.ui.TabSheet.Tab;
public class UriFragmentWrapperFactory {
/**
* Wrap the given component into a component identified by the given uri
* fragment.
* <p>
* 'tabsheet' wraps it to Tabsheet component.
* <p>
* Returns by default the component itself.
*
* @param uriragment
* @param component
* @return
*/
public static Component wrapByUriFragment(String uriragment, Gantt gantt) {
if (uriragment == null) {
return gantt;
}
if (uriragment.contains("tabsheet")) {
TabSheet tabsheet = new TabSheet();
tabsheet.setSizeFull();
Tab tab = tabsheet.addTab(gantt);
tab.setCaption("Tabsheet test");
return tabsheet;
} else if (uriragment.startsWith("table")) {
return new TableGanttLayout(gantt);
} else if (uriragment.contains("treetable")) {
return new TreeTableGanttLayout(gantt);
}
return gantt;
}
}