From 363769b1e1d4b43754d7a88c4a425bc0a4828cc1 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 30 May 2014 15:50:31 +0000 Subject: [PATCH] Added AddColumnPanel git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-toolbox-widget@96337 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/toolboxwidget/client/ToolBox.java | 52 ++++++++++++++++++- .../td/toolboxwidget/client/ToolBoxPanel.java | 27 ++++++++++ 2 files changed, 78 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 dc6f44f..1e1afde 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.create.AddColumnPanel; import org.gcube.portlets.user.td.informationwidget.client.TabularResourceProperties; import org.gcube.portlets.user.td.tablewidget.client.ChangeTableTypePanel; import org.gcube.portlets.user.td.tablewidget.client.history.HistoryPanel; @@ -23,7 +24,6 @@ import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent; import com.sencha.gxt.widget.core.client.event.BeforeCloseEvent.BeforeCloseHandler; import com.sencha.gxt.widget.core.client.event.SelectEvent; //import org.gcube.portlets.user.td.taskswidget.client.TdTaskController; -//import org.gcube.portlets.user.td.taskswidget.client.TdTaskController; public class ToolBox extends TabPanel { @@ -32,6 +32,7 @@ public class ToolBox extends TabPanel { protected ToolBoxPanel toolBoxPanel; protected HelpPanel helpPanel; protected ChangeColumnTypePanel changeColumnTypePanel; + protected AddColumnPanel addColumnPanel; protected DeleteColumnPanel deleteColumnPanel; protected LabelColumnPanel labelColumnPanel; protected ChangeTableTypePanel changeTableTypePanel; @@ -101,6 +102,18 @@ public class ToolBox extends TabPanel { } + public void openAddColumnTab(TRId trId) { + Log.debug("Open Add Column Tab"); + if (addColumnPanel == null) { + addAddColumnPanel(trId); + } else { + addColumnPanel.update(trId); + } + setActiveWidget(addColumnPanel); + + } + + public void openDeleteColumnTab(TRId trId, String columnName) { Log.debug("Open Delete Column Tab"); if (deleteColumnPanel == null) { @@ -202,6 +215,15 @@ public class ToolBox extends TabPanel { deleteColumnPanel = null; } } + + public void closeAddColumnPanel() { + Log.debug("Close AddColumnPanel Tab"); + if (addColumnPanel != null) { + remove(addColumnPanel); + addColumnPanel = null; + } + } + public void closeLabelColumnPanel() { Log.debug("Close LabelColumnPanel Tab"); @@ -273,6 +295,11 @@ public class ToolBox extends TabPanel { remove(deleteColumnPanel); deleteColumnPanel = null; } + if (addColumnPanel != null) { + remove(addColumnPanel); + addColumnPanel = null; + } + if (labelColumnPanel != null) { remove(labelColumnPanel); labelColumnPanel = null; @@ -360,6 +387,29 @@ public class ToolBox extends TabPanel { }; + + protected void addAddColumnPanel(TRId trId) { + TabItemConfig addColumnItemConf = new TabItemConfig( + "Add Column", true); + + addColumnPanel = new AddColumnPanel(trId,eventBus); + add(addColumnPanel, addColumnItemConf); + + addBeforeCloseHandler(new BeforeCloseHandler() { + + public void onBeforeClose(BeforeCloseEvent event) { + if (addColumnPanel == event.getItem()) { + remove(addColumnPanel); + addColumnPanel = null; + + } + + } + + }); + }; + + protected void addDeleteColumnPanel(TRId trId, String columnName) { TabItemConfig deleteColumnItemConf = new TabItemConfig( 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 9c25797..be9a161 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 @@ -84,6 +84,7 @@ public class ToolBoxPanel extends ContentPanel { case HISTORY: doHistoryTab(); break; + default: break; } @@ -128,6 +129,9 @@ public class ToolBoxPanel extends ContentPanel { case CHANGECOLUMNTYPEPANEL: doColumnTypeChangeTab(event); break; + case ADDCOLUMNPANEL: + doAddColumnTab(event); + break; case DELETECOLUMNPANEL: doDeleteColumnTab(event); break; @@ -166,6 +170,8 @@ public class ToolBoxPanel extends ContentPanel { } } + + protected void doColumnTypeChangeTab(WidgetRequestEvent event){ Log.debug("WidgetRequestEvent.CHANGECOLUMNTYPEPANEL : ["+event.getTrId()+" ,columnName: "+event.getColumnName()+"]"); if (uiStateType == UIStateType.TR_OPEN @@ -185,6 +191,26 @@ public class ToolBoxPanel extends ContentPanel { } } + protected void doAddColumnTab(WidgetRequestEvent event){ + Log.debug("WidgetRequestEvent.AddColumnPanel : ["+event.getTrId()+"]"); + if (uiStateType == UIStateType.TR_OPEN + || uiStateType == UIStateType.TABLECURATION + || uiStateType == UIStateType.TABLEUPDATE) { + if (state == ToolBoxPanelState.OPENED) { + toolBox.openAddColumnTab(event.getTrId()); + Log.debug("ToolBoxPanelSTate.OPENED Add Tabs"); + } else { + enable(); + expand(); + state = ToolBoxPanelState.OPENED; + toolBox.openAddColumnTab(event.getTrId()); + } + } else { + Log.debug("ToolBoxPanel No table open"); + } + } + + protected void doDeleteColumnTab(WidgetRequestEvent event){ Log.debug("WidgetRequestEvent.DeleteColumnPanel : ["+event.getTrId()+" ,columnName: "+event.getColumnName()+"]"); if (uiStateType == UIStateType.TR_OPEN @@ -342,6 +368,7 @@ public class ToolBoxPanel extends ContentPanel { toolBox.closePropertiesTabs(); toolBox.closeHistoryPanel(); toolBox.closeChangeColumnTypePanel(); + toolBox.closeAddColumnPanel(); toolBox.closeDeleteColumnPanel(); toolBox.closeLabelColumnPanel(); toolBox.closeChangeTableTypePanel();