From 012d2f646864a30546d2a4c0349a451ac0ef28d8 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Tue, 3 Mar 2015 17:17:54 +0000 Subject: [PATCH] Added Position Column git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-toolbox-widget@112338 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/toolboxwidget/client/ToolBox.java | 49 +++++++++++++++++++ .../td/toolboxwidget/client/ToolBoxPanel.java | 32 +++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java index 5cf599f..528e38d 100644 --- a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java +++ b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBox.java @@ -3,6 +3,7 @@ package org.gcube.portlets.user.td.toolboxwidget.client; import org.gcube.portlets.user.td.columnwidget.client.ChangeColumnTypePanel; import org.gcube.portlets.user.td.columnwidget.client.DeleteColumnPanel; import org.gcube.portlets.user.td.columnwidget.client.LabelColumnPanel; +import org.gcube.portlets.user.td.columnwidget.client.PositionColumnPanel; import org.gcube.portlets.user.td.columnwidget.client.create.AddColumnPanel; import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties; import org.gcube.portlets.user.td.monitorwidget.client.background.MonitorBackgroundPanel; @@ -71,6 +72,7 @@ public class ToolBox extends TabPanel { private FramedPanel taskPanel; + private PositionColumnPanel positionColumnPanel; public ToolBox(String name, EventBus eventBus, ToolBoxPanel toolBoxPanel) { @@ -204,6 +206,17 @@ public class ToolBox extends TabPanel { } + public void openPositionColumnTab(TRId trId, String columnName) { + Log.debug("Open Position Column Tab"); + if (positionColumnPanel == null) { + addPositionColumnPanel(trId, columnName); + } else { + positionColumnPanel.update(trId); + } + setActiveWidget(positionColumnPanel); + + } + public void openLabelColumnTab(TRId trId, String columnName) { Log.debug("Open Label Column Tab"); if (labelColumnPanel == null) { @@ -398,6 +411,15 @@ public class ToolBox extends TabPanel { } } + public void closePositionColumnPanel() { + Log.debug("Close PositionColumnPanel Tab"); + if (positionColumnPanel != null) { + remove(positionColumnPanel); + positionColumnPanel = null; + } + } + + public void closeLabelColumnPanel() { Log.debug("Close LabelColumnPanel Tab"); if (labelColumnPanel != null) { @@ -545,10 +567,16 @@ public class ToolBox extends TabPanel { addColumnPanel = null; } + if (positionColumnPanel != null) { + remove(positionColumnPanel); + positionColumnPanel = null; + } + if (labelColumnPanel != null) { remove(labelColumnPanel); labelColumnPanel = null; } + if (changeTableTypePanel != null) { remove(changeTableTypePanel); changeTableTypePanel = null; @@ -812,6 +840,27 @@ public class ToolBox extends TabPanel { }); }; + protected void addPositionColumnPanel(TRId trId, String columnName) { + TabItemConfig labelColumnItemConf = new TabItemConfig("Position Column", + true); + + positionColumnPanel = new PositionColumnPanel(trId, eventBus); + add(positionColumnPanel, labelColumnItemConf); + + addBeforeCloseHandler(new BeforeCloseHandler() { + + public void onBeforeClose(BeforeCloseEvent event) { + if (positionColumnPanel == event.getItem()) { + remove(positionColumnPanel); + positionColumnPanel = null; + + } + + } + + }); + }; + protected void addLabelColumnPanel(TRId trId, String columnName) { TabItemConfig labelColumnItemConf = new TabItemConfig("Column Label", true); diff --git a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java index 17b001a..5602001 100644 --- a/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/toolboxwidget/client/ToolBoxPanel.java @@ -145,9 +145,13 @@ public class ToolBoxPanel extends ContentPanel { case TIMEAGGREGATIONPANEL: doTimeAggregateTab(event); break; - case LABELCOLUNPANEL: + case LABELCOLUMNPANEL: doLabelColumnTab(event); break; + case POSITIONCOLUMNPANEL: + doPositionColumnTab(event); + break; + case CHANGETABLETYPEPANEL: doChangeTableTypeTab(event); break; @@ -347,6 +351,31 @@ public class ToolBoxPanel extends ContentPanel { } } + + + protected void doPositionColumnTab(WidgetRequestEvent event) { + Log.debug("WidgetRequestEvent.PositionColumnPanel : [" + event.getTrId() + + " ,columnName: " + event.getColumnName() + "]"); + if (uiStateType == UIStateType.TR_OPEN + || uiStateType == UIStateType.TABLECURATION + || uiStateType == UIStateType.TABLEUPDATE) { + if (state == ToolBoxPanelState.OPENED) { + toolBox.openPositionColumnTab(event.getTrId(), + event.getColumnName()); + Log.debug("ToolBoxPanelSTate.OPENED Add Tabs"); + } else { + enable(); + expand(); + state = ToolBoxPanelState.OPENED; + toolBox.openPositionColumnTab(event.getTrId(), + event.getColumnName()); + } + } else { + Log.debug("ToolBoxPanel No table open"); + } + } + + protected void doLabelColumnTab(WidgetRequestEvent event) { Log.debug("WidgetRequestEvent.LabelColumnPanel : [" + event.getTrId() + " ,columnName: " + event.getColumnName() + "]"); @@ -611,6 +640,7 @@ public class ToolBoxPanel extends ContentPanel { toolBox.closeMergeColumnPanel(); toolBox.closeGroupByPanel(); toolBox.closeTimeAggregationPanel(); + toolBox.closePositionColumnPanel(); toolBox.closeLabelColumnPanel(); toolBox.closeChangeTableTypePanel(); toolBox.closeDuplicatesRowsPanel();