From 4d84848cc6e40e5d7bba60beb713a810e7ab2868 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 29 Nov 2013 18:01:06 +0000 Subject: [PATCH] Minor updated git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-csv-export-widget@86372 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/CSVExportConfigCard.java | 122 ++++++++---------- .../client/CSVExportWizardTD.java | 2 + .../client/grid/ColumnDataGridPanel.java | 95 +++++++------- 3 files changed, 106 insertions(+), 113 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java index bf522c4..46a7303 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportConfigCard.java @@ -1,10 +1,10 @@ package org.gcube.portlets.user.td.csvexportwidget.client; - import org.gcube.portlets.user.td.csvexportwidget.client.grid.ColumnDataGridPanel; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.csv.AvailableCharsetList; import org.gcube.portlets.user.td.gwtservice.shared.csv.CSVExportSession; +import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; import org.gcube.portlets.user.td.wizardwidget.client.WizardCard; import com.allen_sauer.gwt.log.client.Log; @@ -39,7 +39,7 @@ import com.sencha.gxt.widget.core.client.tips.ToolTipConfig; public class CSVExportConfigCard extends WizardCard { private static final String DEFAULT_DELIMETER = ","; - protected CSVExportSession csvExportSession; + protected CSVExportSession exportSession; protected SimpleComboBox encodings; protected TextField customDelimiterField; @@ -48,15 +48,15 @@ public class CSVExportConfigCard extends WizardCard { protected Radio spaceDelimiter; protected Radio tabDelimiter; protected Radio semicoloDelimiter; - + protected ColumnDataGridPanel csvColumnGridPanel; - public CSVExportConfigCard(final CSVExportSession csvExportSession) { + public CSVExportConfigCard(final CSVExportSession exportSession) { super("CSV configuration", ""); - if (csvExportSession == null) { + if (exportSession == null) { Log.error("CSVExportSession is null"); } - this.csvExportSession = csvExportSession; + this.exportSession = exportSession; FormPanel panel = createPanel(); setContent(panel); @@ -82,14 +82,43 @@ public class CSVExportConfigCard extends WizardCard { @Override public void onSelection(SelectionEvent event) { - //updateGrid(); + // updateGrid(); } }); + + encodings.focus(); + + TDGWTServiceAsync.INSTANCE + .getAvailableCharset(new AsyncCallback() { + + @Override + public void onSuccess(AvailableCharsetList result) { + GWT.log("CharsetInfo: " + + result.getCharsetList().size() + + " charset, default: " + + result.getDefaultCharset()); + + for (String charset : result.getCharsetList()) + encodings.add(charset); + + encodings.setValue(result.getDefaultCharset()); + + } + + /** + * {@inheritDoc} + */ + @Override + public void onFailure(Throwable caught) { + GWT.log("Error loading charset list", caught); + showErrorAndHide("Error loading charset list", + "Error loading charset list", "", caught); + } + }); + content.add(new FieldLabel(encodings, "File encoding")); - - commaDelimiter = new Radio(); commaDelimiter.setBoxLabel("Comma"); commaDelimiter.setValue(true); @@ -152,14 +181,25 @@ public class CSVExportConfigCard extends WizardCard { "The delimiter use to delimit the CSV fields")); content.add(new FieldLabel(delimitersPanel, "Delimiter")); - - csvColumnGridPanel=new ColumnDataGridPanel(); + csvColumnGridPanel = new ColumnDataGridPanel(); + + csvColumnGridPanel + .addSelectionHandler(new SelectionHandler() { + + @Override + public void onSelection(SelectionEvent event) { + exportSession.setColumns(csvColumnGridPanel + .getSelectedItems()); + getWizardWindow().setEnableNextButton(true); + } + + }); + content.add(csvColumnGridPanel); return panel; } - protected char getSelectedDelimiter() { if (otherDelimiter.getValue()) return customDelimiterField.getValue().charAt(0); @@ -176,66 +216,14 @@ public class CSVExportConfigCard extends WizardCard { @Override public void setup() { - setEnableBackButton(true); + setEnableBackButton(false); setEnableNextButton(false); - encodings.focus(); - - TDGWTServiceAsync.INSTANCE - .getAvailableCharset(new AsyncCallback() { - - @Override - public void onSuccess(AvailableCharsetList result) { - GWT.log("CharsetInfo: " - + result.getCharsetList().size() - + " charset, default: " - + result.getDefaultCharset()); - - for (String charset : result.getCharsetList()) - encodings.add(charset); - - encodings.setValue(result.getDefaultCharset()); - - } - - /** - * {@inheritDoc} - */ - @Override - public void onFailure(Throwable caught) { - GWT.log("Error loading charset list", caught); - showErrorAndHide("Error loading charset list", - "Error loading charset list", "", caught); - } - }); - - - - Command sayNextCard = new Command() { - - @Override - public void execute() { - //CSVTableDetailCard csvTableDetailCard = new CSVTableDetailCard( - // csvImportSession); - //getWizardWindow() - // .addCard(csvTableDetailCard); - Log.info("NextCard CSVTableDetailCard"); - //getWizardWindow().nextCard(); - - } - - }; - - getWizardWindow().setNextButtonCommand(sayNextCard); - } @Override public void dispose() { - //csvExportSession - // .setColumnToImportMask(csvSample.getImportColumnsMask()); + // csvExportSession + // .setColumnToImportMask(csvSample.getImportColumnsMask()); } - - - } diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportWizardTD.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportWizardTD.java index c53cc3f..fe25675 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportWizardTD.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/CSVExportWizardTD.java @@ -27,6 +27,8 @@ public class CSVExportWizardTD extends WizardWindow { exportSession= new CSVExportSession(); CSVExportConfigCard csvExportConfigCard=new CSVExportConfigCard(exportSession); + csvExportConfigCard.setEnableBackButton(false); + csvExportConfigCard.setEnableNextButton(false); addCard(csvExportConfigCard); DestinationSelectionCard destinationSelection= new DestinationSelectionCard(exportSession); addCard(destinationSelection); diff --git a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java index 673de55..2c02d32 100644 --- a/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/csvexportwidget/client/grid/ColumnDataGridPanel.java @@ -30,14 +30,15 @@ import com.sencha.gxt.widget.core.client.grid.ColumnConfig; import com.sencha.gxt.widget.core.client.grid.ColumnModel; import com.sencha.gxt.widget.core.client.grid.Grid; -public class ColumnDataGridPanel extends ContentPanel implements HasSelectionHandlers { +public class ColumnDataGridPanel extends ContentPanel implements + HasSelectionHandlers { private static final ColumnDataProperties props = GWT .create(ColumnDataProperties.class); protected final Grid grid; public ColumnDataGridPanel() { - + ColumnConfig nameCol = new ColumnConfig( props.name()); ColumnConfig typeNameCol = new ColumnConfig( @@ -45,37 +46,36 @@ public class ColumnDataGridPanel extends ContentPanel implements HasSelectionHan ColumnConfig typeCodeCol = new ColumnConfig( props.typeCode()); - List> l = new ArrayList>(); l.add(nameCol); l.add(typeNameCol); l.add(typeCodeCol); ColumnModel cm = new ColumnModel(l); - - IdentityValueProvider identity = new IdentityValueProvider(); - - - final CheckBoxSelectionModel sm = new CheckBoxSelectionModel(identity); - - - ListStore store = new ListStore( - props.id()); - - RpcProxy> proxy = new RpcProxy>() { - public void load(ListLoadConfig loadConfig, final AsyncCallback> callback) { + IdentityValueProvider identity = new IdentityValueProvider(); + + final CheckBoxSelectionModel sm = new CheckBoxSelectionModel( + identity); + + ListStore store = new ListStore(props.id()); + + RpcProxy> proxy = new RpcProxy>() { + + public void load(ListLoadConfig loadConfig, + final AsyncCallback> callback) { loadData(loadConfig, callback); - } + } }; - final ListLoader> loader = new ListLoader>(proxy); + final ListLoader> loader = new ListLoader>( + proxy); loader.setRemoteSort(false); - loader.addLoadHandler(new LoadResultListStoreBinding>(store){ - + loader.addLoadHandler(new LoadResultListStoreBinding>( + store) { + }); - - - grid = new Grid(store, cm){ + + grid = new Grid(store, cm) { @Override protected void onAfterFirstAttach() { super.onAfterFirstAttach(); @@ -87,52 +87,55 @@ public class ColumnDataGridPanel extends ContentPanel implements HasSelectionHan }); } }; - + grid.setLoader(loader); grid.setSelectionModel(sm); grid.getView().setAutoExpandColumn(nameCol); grid.getView().setStripeRows(true); grid.getView().setColumnLines(true); grid.setBorders(false); - + VerticalLayoutContainer con = new VerticalLayoutContainer(); con.add(grid, new VerticalLayoutData(1, 1)); setWidget(con); - + } public Grid getGrid() { return grid; } - - protected void loadData(ListLoadConfig loadConfig, final AsyncCallback> callback) { - TDGWTServiceAsync.INSTANCE.getColumns(new AsyncCallback>() { - @Override - public void onFailure(Throwable caught) { - Log.error("No load columns: "+caught.getLocalizedMessage()); - callback.onFailure(caught); - } + protected void loadData(ListLoadConfig loadConfig, + final AsyncCallback> callback) { + TDGWTServiceAsync.INSTANCE + .getColumns(new AsyncCallback>() { - @Override - public void onSuccess(ArrayList result) { - Log.trace("loaded "+result.size()+" columns"); - callback.onSuccess(new ListLoadResultBean(result)); - } - }); + @Override + public void onFailure(Throwable caught) { + Log.error("No load columns: " + + caught.getLocalizedMessage()); + callback.onFailure(caught); + } + + @Override + public void onSuccess(ArrayList result) { + Log.trace("loaded " + result.size() + " columns"); + callback.onSuccess(new ListLoadResultBean( + result)); + } + }); } - - public List getSelectedItems() { - return grid.getSelectionModel().getSelectedItems(); + public ArrayList getSelectedItems() { + return new ArrayList(grid + .getSelectionModel().getSelectedItems()); + } - @Override - public HandlerRegistration addSelectionHandler(SelectionHandler handler) { + public HandlerRegistration addSelectionHandler( + SelectionHandler handler) { return grid.getSelectionModel().addSelectionHandler(handler); } - - }