diff --git a/pom.xml b/pom.xml index f80365b..0dd83e8 100644 --- a/pom.xml +++ b/pom.xml @@ -370,6 +370,13 @@ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + + + org.gcube.portlets.user + tabular-data-replacebyexternal-widget + [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) + + org.gcube.portlets.user diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index 7f75d93..221188b 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -25,6 +25,7 @@ import org.gcube.portlets.user.td.jsonexportwidget.client.JSONExportWidgetTD; import org.gcube.portlets.user.td.mainboxwidget.client.MainBoxPanel; import org.gcube.portlets.user.td.mapwidget.client.MapWidgetTD; import org.gcube.portlets.user.td.openwidget.client.TDOpen; +import org.gcube.portlets.user.td.replacebyexternalwidget.client.ReplaceByExternalTD; import org.gcube.portlets.user.td.sdmxexportwidget.client.SDMXExportWizardTD; import org.gcube.portlets.user.td.sdmximportwidget.client.SDMXImportWizardTD; import org.gcube.portlets.user.td.sharewidget.client.TRShare; @@ -803,6 +804,9 @@ public class TabularDataController { break; case TABLEAGGREAGETE: break; + case TABLEREPLACEBYEXTERNALCOL: + openReplaceByExternalColWizard(); + break; case ROWADD: doRowAdd(); break; @@ -1235,6 +1239,47 @@ public class TabularDataController { }); } + + + protected void openReplaceByExternalColWizard() { + GWT.runAsync(new RunAsyncCallback() { + + public void onSuccess() { + openWizard(); + ReplaceByExternalTD replaceByExternalColWizard = new ReplaceByExternalTD(trId, "Replace By External Columns", + eventBus); + + replaceByExternalColWizard.addListener(new WizardListener() { + public void failed(String title, String message, + Throwable throwable) { + UtilsGXT3.alert(title, message); + resumeUIState(); + } + + public void completed(TRId id) { + openTable(id); + + } + + @Override + public void putInBackground() { + Log.debug("PutInBakground"); + } + + public void aborted() { + resumeUIState(); + } + }); + + replaceByExternalColWizard.show(); + } + + public void onFailure(Throwable reason) { + asyncCodeLoadingFailed(reason); + } + }); + + } protected void openCreateMapWizard() { GWT.runAsync(new RunAsyncCallback() { @@ -1706,7 +1751,7 @@ public class TabularDataController { protected void openTimeAggregate() { openTimeAggregate(null); } - + protected void openTimeAggregate(String columnName) { Log.debug("Request Time Aggregate Tab"); if (trId != null) { @@ -1721,6 +1766,9 @@ public class TabularDataController { } } + + + protected void openColumnLabel() { openColumnLabel(null); diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java index bad4171..58c539f 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java +++ b/src/main/java/org/gcube/portlets/user/td/client/resource/TabularDataResources.java @@ -408,4 +408,11 @@ public interface TabularDataResources extends ClientBundle { @Source("column-replace-by-expression.png") ImageResource columnReplaceByExpression(); + @Source("table-replace-by-external-col_32.png") + ImageResource replaceByExternalCol32(); + + @Source("table-replace-by-external-col.png") + ImageResource replaceByExternalCol(); + + } diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png b/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png new file mode 100644 index 0000000..ed1ca28 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png b/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png new file mode 100644 index 0000000..f03d9f8 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png differ diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/AnalyseToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/AnalyseToolBar.java index a923b21..ef402ee 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/AnalyseToolBar.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/AnalyseToolBar.java @@ -25,8 +25,10 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.toolbar.ToolBar; /** - * @author "Federico De Faveri defaveri@isti.cnr.it" * + * @author giancarlo + * email: g.panichi@isti.cnr.it + * */ public class AnalyseToolBar { @@ -36,7 +38,7 @@ public class AnalyseToolBar { protected TextButton pieButton; protected TextButton barButton; protected TextButton curveButton; - protected TextButton bullsButton; + protected TextButton scatterButton; protected TextButton statisticalButton; protected TextButton rstudioButton; @@ -308,13 +310,13 @@ public class AnalyseToolBar { basicLayout.setWidget(0, 2, curveButton); basicLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); - bullsButton = new TextButton("Bulls", + scatterButton = new TextButton("Scatter", TabularDataResources.INSTANCE.chartBulls32()); - bullsButton.setScale(ButtonScale.LARGE); - bullsButton.setIconAlign(IconAlign.TOP); - bullsButton.setToolTip("Bulls"); - bullsButton.setArrowAlign(ButtonArrowAlign.BOTTOM); - bullsButton.addSelectHandler(new SelectHandler() { + scatterButton.setScale(ButtonScale.LARGE); + scatterButton.setIconAlign(IconAlign.TOP); + scatterButton.setToolTip("Scatter"); + scatterButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + scatterButton.addSelectHandler(new SelectHandler() { public void onSelect(SelectEvent event) { // eventBus.fireEvent(new @@ -322,7 +324,7 @@ public class AnalyseToolBar { } }); - basicLayout.setWidget(0, 3, bullsButton); + basicLayout.setWidget(0, 3, scatterButton); basicLayout.getFlexCellFormatter().setRowSpan(0, 3, 2); cleanCells(basicLayout.getElement()); diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/ModifyToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ModifyToolBar.java index a806fcb..f4e0585 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/ModifyToolBar.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/ModifyToolBar.java @@ -25,8 +25,10 @@ import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler; import com.sencha.gxt.widget.core.client.toolbar.ToolBar; /** - * @author "Federico De Faveri defaveri@isti.cnr.it" * + * @author giancarlo + * email: g.panichi@isti.cnr.it + * */ public class ModifyToolBar { @@ -39,6 +41,7 @@ public class ModifyToolBar { protected TextButton groupbyButton; //protected TextButton aggregateButton; protected TextButton timeAggregationButton; + protected TextButton replaceByExternalCol; protected TextButton addRowButton; protected TextButton deleteRowButton; protected TextButton deleteDuplicateButton; @@ -163,6 +166,26 @@ public class ModifyToolBar { tableLayout.getFlexCellFormatter().setRowSpan(0, 3, 2); + replaceByExternalCol = new TextButton("Replace by External", + TabularDataResources.INSTANCE.replaceByExternalCol32()); + replaceByExternalCol.disable(); + replaceByExternalCol.setScale(ButtonScale.LARGE); + replaceByExternalCol.setIconAlign(IconAlign.TOP); + replaceByExternalCol.setToolTip("Replace by external columns"); + replaceByExternalCol.setArrowAlign(ButtonArrowAlign.BOTTOM); + replaceByExternalCol.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.TABLEREPLACEBYEXTERNALCOL)); + } + }); + + tableLayout.setWidget(0, 4, replaceByExternalCol); + tableLayout.getFlexCellFormatter().setRowSpan(0, 4, 2); + + + + addRowButton = new TextButton("Add Row", TabularDataResources.INSTANCE.rowInsert32()); addRowButton.disable(); @@ -177,8 +200,8 @@ public class ModifyToolBar { } }); - tableLayout.setWidget(0, 4, addRowButton); - tableLayout.getFlexCellFormatter().setRowSpan(0, 4, 2); + tableLayout.setWidget(0, 5, addRowButton); + tableLayout.getFlexCellFormatter().setRowSpan(0, 5, 2); deleteRowButton = new TextButton("Delete Row", TabularDataResources.INSTANCE.rowRemove32()); @@ -194,8 +217,8 @@ public class ModifyToolBar { } }); - tableLayout.setWidget(0, 5, deleteRowButton); - tableLayout.getFlexCellFormatter().setRowSpan(0, 5, 2); + tableLayout.setWidget(0, 6, deleteRowButton); + tableLayout.getFlexCellFormatter().setRowSpan(0, 6, 2); deleteDuplicateButton = new TextButton("Delete Duplicate", TabularDataResources.INSTANCE.tableDuplicateRowsRemove32()); @@ -211,8 +234,8 @@ public class ModifyToolBar { } }); - tableLayout.setWidget(0, 6, deleteDuplicateButton); - tableLayout.getFlexCellFormatter().setRowSpan(0, 6, 2); + tableLayout.setWidget(0, 7, deleteDuplicateButton); + tableLayout.getFlexCellFormatter().setRowSpan(0, 7, 2); /* annotationButton = new TextButton("Annotation", @@ -324,6 +347,7 @@ public class ModifyToolBar { groupbyButton.disable(); timeAggregationButton.disable(); //aggregateButton.disable(); + replaceByExternalCol.disable(); addRowButton.disable(); deleteRowButton.disable(); deleteDuplicateButton.disable(); @@ -340,6 +364,7 @@ public class ModifyToolBar { groupbyButton.disable(); timeAggregationButton.disable(); //aggregateButton.disable(); + replaceByExternalCol.disable(); addRowButton.disable(); deleteRowButton.disable(); deleteDuplicateButton.disable(); @@ -357,6 +382,7 @@ public class ModifyToolBar { groupbyButton.enable(); timeAggregationButton.enable(); //aggregateButton.disable(); + replaceByExternalCol.enable(); addRowButton.enable(); deleteRowButton.enable(); deleteDuplicateButton.enable(); @@ -372,6 +398,7 @@ public class ModifyToolBar { groupbyButton.disable(); timeAggregationButton.disable(); //aggregateButton.disable(); + replaceByExternalCol.disable(); addRowButton.disable(); deleteRowButton.disable(); deleteDuplicateButton.disable(); diff --git a/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml b/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml index a0f53b8..6517077 100644 --- a/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml +++ b/src/main/java/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml @@ -47,6 +47,7 @@ + diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png new file mode 100644 index 0000000..ed1ca28 Binary files /dev/null and b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col.png differ diff --git a/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png new file mode 100644 index 0000000..f03d9f8 Binary files /dev/null and b/src/main/resources/org/gcube/portlets/user/td/client/resource/table-replace-by-external-col_32.png differ diff --git a/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml index fe04b32..31f429f 100644 --- a/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml @@ -45,6 +45,7 @@ + @@ -64,18 +65,18 @@ - - + - +