package org.molgenis.omx.view;
import java.util.List;
import org.molgenis.framework.ui.html.HtmlWidget;
import org.molgenis.observ.DataSet;
public class DataSetChooser extends HtmlWidget
{
private List<DataSet> dataSets;
private Integer selectedDataSetId;
public DataSetChooser(List<DataSet> dataSets, Integer selectedDataSetId)
{
super(DataSetChooser.class.getSimpleName(), null);
this.dataSets = dataSets;
this.selectedDataSetId = selectedDataSetId;
}
public Integer getSelectedDataSetId()
{
return selectedDataSetId;
}
public void setSelectedDataSetId(Integer selectedDataSetId)
{
this.selectedDataSetId = selectedDataSetId;
}
@Override
public String toHtml()
{
StringBuilder sb = new StringBuilder();
sb.append("<div class='row-fluid grid'>");
sb.append("<div class='span2'><label>Choose a dataset:</label></div>");
sb.append("<div class='btn-group' data-toggle='buttons-radio'>");
for (DataSet ds : dataSets)
{
if ((selectedDataSetId != null) && ds.getId().equals(selectedDataSetId))
{
sb.append("<button class='btn active' name='dataSetId' value='");
}
else
{
sb.append("<button class='btn' name='dataSetId' value='");
}
sb.append(ds.getId()).append("'>");
sb.append(ds.getName());// TODO html encode
sb.append("</button>");
}
sb.append("</div>");
sb.append("</div>");
sb.append("<script type='text/javascript'>");
sb.append("$('input[name=__action]').val('selectDataSet')");
sb.append("</script>");
return sb.toString();
}
}