Added View Columns Export

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-csv-export-widget@100346 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2014-10-02 10:33:32 +00:00
parent 2c74fac2d2
commit 4673e09ea7
2 changed files with 59 additions and 11 deletions

View File

@ -46,16 +46,21 @@ import com.sencha.gxt.widget.core.client.tips.ToolTipConfig;
*/ */
public class CSVExportConfigCard extends WizardCard { public class CSVExportConfigCard extends WizardCard {
private static final int LABEL_WIDTH = 128;
private static final int LABEL_PAD_WIDTH = 2;
private static final String DEFAULT_DELIMETER = ","; private static final String DEFAULT_DELIMETER = ",";
protected CSVExportSession exportSession; protected CSVExportSession exportSession;
protected SimpleComboBox<String> encodings; private SimpleComboBox<String> encodings;
protected TextField customDelimiterField; private TextField customDelimiterField;
protected Radio otherDelimiter; private Radio otherDelimiter;
protected Radio commaDelimiter; private Radio commaDelimiter;
protected Radio spaceDelimiter; private Radio spaceDelimiter;
protected Radio tabDelimiter; private Radio tabDelimiter;
protected Radio semicoloDelimiter; private Radio semicoloDelimiter;
private Radio viewColumnExportTrue;
private Radio viewColumnExportFalse;
protected ColumnDataGridPanel csvColumnGridPanel; protected ColumnDataGridPanel csvColumnGridPanel;
@ -131,8 +136,12 @@ public class CSVExportConfigCard extends WizardCard {
} }
}); });
content.add(new FieldLabel(encodings, "File encoding")); FieldLabel fieldEncoding=new FieldLabel(encodings, "File encoding");
fieldEncoding.setLabelWidth(LABEL_WIDTH);
fieldEncoding.setLabelPad(LABEL_PAD_WIDTH);
content.add(fieldEncoding);
// Delimiter
commaDelimiter = new Radio(); commaDelimiter = new Radio();
commaDelimiter.setBoxLabel("Comma"); commaDelimiter.setBoxLabel("Comma");
commaDelimiter.setValue(true); commaDelimiter.setValue(true);
@ -192,8 +201,35 @@ public class CSVExportConfigCard extends WizardCard {
new ToolTip(delimitersPanel, new ToolTipConfig( new ToolTip(delimitersPanel, new ToolTipConfig(
"The delimiter use to delimit the CSV fields")); "The delimiter use to delimit the CSV fields"));
content.add(new FieldLabel(delimitersPanel, "Delimiter")); FieldLabel fieldDelimeter=new FieldLabel(delimitersPanel, "Delimiter");
fieldDelimeter.setLabelWidth(LABEL_WIDTH);
fieldDelimeter.setLabelPad(LABEL_PAD_WIDTH);
content.add(fieldDelimeter);
// Export View Column
viewColumnExportTrue = new Radio();
viewColumnExportTrue.setBoxLabel("True");
viewColumnExportTrue.setValue(true);
viewColumnExportFalse = new Radio();
viewColumnExportFalse.setBoxLabel("False");
ToggleGroup exportViewColumnGroup = new ToggleGroup();
exportViewColumnGroup.add(viewColumnExportTrue);
exportViewColumnGroup.add(viewColumnExportFalse);
HorizontalPanel viewColumnExportPanel = new HorizontalPanel();
viewColumnExportPanel.add(viewColumnExportTrue);
viewColumnExportPanel.add(viewColumnExportFalse);
new ToolTip(viewColumnExportPanel, new ToolTipConfig(
"Export View Columns Too"));
FieldLabel fieldViewColumns=new FieldLabel(viewColumnExportPanel, "Export View Columns");
fieldViewColumns.setLabelWidth(LABEL_WIDTH);
fieldViewColumns.setLabelPad(LABEL_PAD_WIDTH);
content.add(fieldViewColumns);
// Column Selection Grid
csvColumnGridPanel = new ColumnDataGridPanel(this); csvColumnGridPanel = new ColumnDataGridPanel(this);
csvColumnGridPanel csvColumnGridPanel
@ -223,6 +259,14 @@ public class CSVExportConfigCard extends WizardCard {
return ';'; return ';';
return DEFAULT_DELIMETER.charAt(0); return DEFAULT_DELIMETER.charAt(0);
} }
protected boolean getExportViewColumns() {
if(viewColumnExportTrue.getValue()){
return true;
} else {
return false;
}
}
@Override @Override
public void setup() { public void setup() {
@ -264,6 +308,7 @@ public class CSVExportConfigCard extends WizardCard {
exportSession.setColumns(columns); exportSession.setColumns(columns);
exportSession.setEncoding(encodings.getCurrentValue()); exportSession.setEncoding(encodings.getCurrentValue());
exportSession.setSeparator(String.valueOf(getSelectedDelimiter())); exportSession.setSeparator(String.valueOf(getSelectedDelimiter()));
exportSession.setExportViewColumns(getExportViewColumns());
goNext(); goNext();
} }

View File

@ -40,6 +40,8 @@ import com.sencha.gxt.widget.core.client.grid.Grid;
public class ColumnDataGridPanel extends ContentPanel implements public class ColumnDataGridPanel extends ContentPanel implements
HasSelectionHandlers<ColumnData> { HasSelectionHandlers<ColumnData> {
//private static final String GRID_WIDTH ="524px";
private static final String GRID_HEIGHT = "280px";
protected static final ColumnDataProperties props = GWT protected static final ColumnDataProperties props = GWT
.create(ColumnDataProperties.class); .create(ColumnDataProperties.class);
protected final CheckBoxSelectionModel<ColumnData> sm; protected final CheckBoxSelectionModel<ColumnData> sm;
@ -98,14 +100,15 @@ public class ColumnDataGridPanel extends ContentPanel implements
sm.setSelectionMode(SelectionMode.MULTI); sm.setSelectionMode(SelectionMode.MULTI);
grid.setLoader(loader); grid.setLoader(loader);
grid.setSelectionModel(sm); grid.setSelectionModel(sm);
grid.setHeight(300); grid.setHeight(GRID_HEIGHT);
//grid.setWidth(GRID_WIDTH);
// grid.getView().setAutoExpandColumn(labelCol); // grid.getView().setAutoExpandColumn(labelCol);
grid.getView().setStripeRows(true); grid.getView().setStripeRows(true);
grid.getView().setColumnLines(true); grid.getView().setColumnLines(true);
grid.getView().setAutoFill(true); grid.getView().setAutoFill(true);
grid.setBorders(false); grid.setBorders(false);
grid.setLoadMask(true); grid.setLoadMask(true);
grid.setColumnReordering(true); grid.setColumnReordering(false);
VerticalLayoutContainer con = new VerticalLayoutContainer(); VerticalLayoutContainer con = new VerticalLayoutContainer();
con.setScrollMode(ScrollMode.AUTO); con.setScrollMode(ScrollMode.AUTO);