diff --git a/pom.xml b/pom.xml
index bce5a6c..160efe6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.portlets.user
workspace
war
- 6.5.1-SNAPSHOT
+ 6.6.0-SNAPSHOT
gCube Workspace Portlet
gcube Workspace Portlet is a portlet for users workspace management
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
index 6ea6fc0..e282fe8 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
@@ -70,6 +70,9 @@ import org.gcube.portlets.user.workspace.client.event.SearchTextEvent;
import org.gcube.portlets.user.workspace.client.event.SearchTextEventHandler;
import org.gcube.portlets.user.workspace.client.event.SendMessageEvent;
import org.gcube.portlets.user.workspace.client.event.SendMessageEventHandler;
+import org.gcube.portlets.user.workspace.client.event.TrashEvent;
+import org.gcube.portlets.user.workspace.client.event.TrashEvent.TRASHOPERATION;
+import org.gcube.portlets.user.workspace.client.event.TrashEventHandler;
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEvent;
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEventHandler;
import org.gcube.portlets.user.workspace.client.interfaces.EventsTypeEnum;
@@ -81,6 +84,7 @@ import org.gcube.portlets.user.workspace.client.model.ScopeModel;
import org.gcube.portlets.user.workspace.client.view.WorskpacePortlet;
import org.gcube.portlets.user.workspace.client.view.panels.GxtBorderLayoutPanel;
import org.gcube.portlets.user.workspace.client.view.panels.GxtItemsPanel;
+import org.gcube.portlets.user.workspace.client.view.trash.WindowTrash;
import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfo;
import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay;
import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert;
@@ -116,6 +120,7 @@ public class AppController implements SubscriberInterface {
private String selectedSmartFolderId;
private String selectedSmartFolderCategory;
+
public AppController(AppControllerExplorer appControllerExplorer) {
this.appContrExplorer = appControllerExplorer;
this.appContrExplorer.subscribe(this, new EventsTypeEnum[] {
@@ -140,7 +145,8 @@ public class AppController implements SubscriberInterface {
EventsTypeEnum.FILE_DOWNLAD_EVENT,
EventsTypeEnum.SESSION_EXPIRED,
EventsTypeEnum.PASTED_EVENT,
- EventsTypeEnum.COPY_EVENT
+ EventsTypeEnum.COPY_EVENT,
+ EventsTypeEnum.TRASH_EVENT
});
bind();
}
@@ -152,6 +158,34 @@ public class AppController implements SubscriberInterface {
private void bind() {
+
+
+ eventBus.addHandler(TrashEvent.TYPE, new TrashEventHandler() {
+
+ @Override
+ public void onTrashEvent(TrashEvent trashEvent) {
+
+
+ switch (trashEvent.getTrashOperation()) {
+ case SHOW:
+
+ WindowTrash.getInstance().show();
+
+ break;
+
+ case MOVETO:
+
+ break;
+
+ case RESTOREFROM:
+ break;
+
+ default:
+ break;
+ }
+
+ }
+ });
//********EVENTS TO NOTIFY SUBSCRIBERS
eventBus.addHandler(ActiveGroupingView.TYPE, new ActiveGroupingViewHandler() {
@@ -217,6 +251,8 @@ public class AppController implements SubscriberInterface {
}
});
+
+
eventBus.addHandler(AccountingHistoryEvent.TYPE, new AccountingHistoryEventHandler() {
@Override
@@ -1439,4 +1475,14 @@ public class AppController implements SubscriberInterface {
}
+
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#trashEvent(org.gcube.portlets.user.workspace.client.event.TrashEvent.TRASHOPERATION, org.gcube.portlets.user.workspace.client.model.FileModel)
+ */
+ @Override
+ public void trashEvent(TRASHOPERATION trashOperation, FileModel targetFileModel) {
+
+
+ }
+
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/WorskpacePortlet.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/WorskpacePortlet.java
index c528a92..b94c37c 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/WorskpacePortlet.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/WorskpacePortlet.java
@@ -6,7 +6,7 @@ import org.gcube.portlets.user.workspace.client.view.panels.GxtBorderLayoutPanel
import org.gcube.portlets.user.workspace.client.view.panels.GxtCardLayoutResultPanel;
import org.gcube.portlets.user.workspace.client.view.panels.GxtSeachAndFilterPanel;
import org.gcube.portlets.user.workspace.client.view.toolbars.GxtPathPanel;
-import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemAccounting;
+import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBottomToolBarItem;
/**
@@ -19,7 +19,7 @@ public class WorskpacePortlet {
private GxtBasicTabPanel basicTabContainer = null;
// private GxtToolBarFunctionsPanel toolbarPanelContainer = null;
private ExplorerPanel explorerPanel = null;
- private GxtToolBarItemAccounting toolBarItemDetails;
+ private GxtBottomToolBarItem toolBarItemDetails;
private GxtListView listViewContainer;
private GxtPathPanel toolBarPathPanel;
private GxtGridFilterGroupPanel gridFilterGroupContainer;
@@ -35,7 +35,7 @@ public class WorskpacePortlet {
this.gridFilterGroupContainer = new GxtGridFilterGroupPanel(activeGroup);
this.listViewContainer = new GxtListView();
- this.toolBarItemDetails = new GxtToolBarItemAccounting();
+ this.toolBarItemDetails = new GxtBottomToolBarItem();
this.gxtCardLayoutResultPanel = new GxtCardLayoutResultPanel(gridFilterGroupContainer, listViewContainer, toolBarItemDetails);
@@ -57,7 +57,7 @@ public class WorskpacePortlet {
return basicTabContainer;
}
- public GxtToolBarItemAccounting getDetailsContainer() {
+ public GxtBottomToolBarItem getDetailsContainer() {
return toolBarItemDetails;
}
@@ -85,7 +85,7 @@ public class WorskpacePortlet {
return gxtCardLayoutResultPanel;
}
- public GxtToolBarItemAccounting getToolBarItemDetails() {
+ public GxtBottomToolBarItem getToolBarItemDetails() {
return toolBarItemDetails;
}
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java
index fb93497..a3d6ad3 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java
@@ -20,6 +20,8 @@ import org.gcube.portlets.user.workspace.client.model.GroupingStoreModel;
import com.extjs.gxt.ui.client.Style.SelectionMode;
import com.extjs.gxt.ui.client.data.ModelData;
+import com.extjs.gxt.ui.client.dnd.GridDragSource;
+import com.extjs.gxt.ui.client.dnd.GridDropTarget;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.GridEvent;
@@ -242,6 +244,12 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
}
});
+
+
+
+ new GridDragSource(grid);
+
+
cp.add(grid);
add(cp);
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtBorderLayoutPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtBorderLayoutPanel.java
index d3598fd..8bd3740 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtBorderLayoutPanel.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtBorderLayoutPanel.java
@@ -2,7 +2,7 @@ package org.gcube.portlets.user.workspace.client.view.panels;
import org.gcube.portlets.user.workspace.client.ConstantsPortlet;
import org.gcube.portlets.user.workspace.client.view.ExplorerPanel;
-import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemAccounting;
+import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBottomToolBarItem;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.Style.Scroll;
@@ -26,7 +26,7 @@ public class GxtBorderLayoutPanel extends ContentPanel {
private ContentPanel center = new ContentPanel();
private ContentPanel east = new ContentPanel();
private ContentPanel south = new ContentPanel();
- private GxtToolBarItemAccounting toolBarItemDetails = null;
+ private GxtBottomToolBarItem toolBarItemDetails = null;
private ExplorerPanel expPanel = null; //TODO change position
private GxtSeachAndFilterPanel searchAndFilterContainer;
private GxtCardLayoutResultPanel gxtCardLayoutResultPanel;
@@ -36,7 +36,7 @@ public class GxtBorderLayoutPanel extends ContentPanel {
GxtSeachAndFilterPanel searchAndFilterContainer2,
ExplorerPanel explorerPanel,
GxtCardLayoutResultPanel gxtCardLayoutResultPanel,
- GxtToolBarItemAccounting detailsContainer2) {
+ GxtBottomToolBarItem detailsContainer2) {
this.searchAndFilterContainer = searchAndFilterContainer2;
this.expPanel = explorerPanel;
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtCardLayoutResultPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtCardLayoutResultPanel.java
index f21a1c9..9543cf0 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtCardLayoutResultPanel.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtCardLayoutResultPanel.java
@@ -3,7 +3,7 @@ package org.gcube.portlets.user.workspace.client.view.panels;
import org.gcube.portlets.user.workspace.client.ConstantsPortlet.ViewSwitchTypeInResult;
import org.gcube.portlets.user.workspace.client.view.GxtListView;
import org.gcube.portlets.user.workspace.client.view.grids.GxtGridFilterGroupPanel;
-import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemAccounting;
+import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBottomToolBarItem;
import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemFunctionality;
import com.extjs.gxt.ui.client.widget.ContentPanel;
@@ -24,12 +24,12 @@ public class GxtCardLayoutResultPanel extends LayoutContainer{
private GxtGridFilterGroupPanel gridGroupViewContainer;
private ContentPanel activePanel = null;
private GxtToolBarItemFunctionality toolBarItemFunct;
- private GxtToolBarItemAccounting toolBarItemDetails;
+ private GxtBottomToolBarItem toolBarItemDetails;
public GxtCardLayoutResultPanel(
GxtGridFilterGroupPanel gridFilterGroupContainer,
GxtListView listViewContainer,
- GxtToolBarItemAccounting toolBarItemDetails) {
+ GxtBottomToolBarItem toolBarItemDetails) {
this.iconsViewContainer = listViewContainer;
this.gridGroupViewContainer = gridFilterGroupContainer;
this.toolBarItemDetails = toolBarItemDetails;
@@ -94,7 +94,7 @@ public class GxtCardLayoutResultPanel extends LayoutContainer{
return activePanel;
}
- public GxtToolBarItemAccounting getToolBarItemDetails() {
+ public GxtBottomToolBarItem getToolBarItemDetails() {
return toolBarItemDetails;
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtItemsPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtItemsPanel.java
index e229384..bbd7058 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtItemsPanel.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/panels/GxtItemsPanel.java
@@ -2,7 +2,7 @@ package org.gcube.portlets.user.workspace.client.view.panels;
import org.gcube.portlets.user.workspace.client.view.GxtListView;
import org.gcube.portlets.user.workspace.client.view.grids.GxtGridFilterGroupPanel;
-import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemAccounting;
+import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBottomToolBarItem;
import org.gcube.portlets.user.workspace.client.view.toolbars.GxtToolBarItemFunctionality;
import com.extjs.gxt.ui.client.widget.ContentPanel;
@@ -16,10 +16,10 @@ public class GxtItemsPanel extends ContentPanel{
private GxtToolBarItemFunctionality toolBarItemFunct;
private GxtListView iconsViewContainer;
private GxtGridFilterGroupPanel gridGroupViewContainer;
- private GxtToolBarItemAccounting toolBarItemDetails;
+ private GxtBottomToolBarItem toolBarItemDetails;
- public GxtItemsPanel(GxtListView iconsViewContainer, GxtGridFilterGroupPanel gridGroupViewContainer, GxtToolBarItemFunctionality toolBarItem, GxtToolBarItemAccounting toolBarItemDetails) {
+ public GxtItemsPanel(GxtListView iconsViewContainer, GxtGridFilterGroupPanel gridGroupViewContainer, GxtToolBarItemFunctionality toolBarItem, GxtBottomToolBarItem toolBarItemDetails) {
this.iconsViewContainer = iconsViewContainer;
this.gridGroupViewContainer = gridGroupViewContainer;
this.toolBarItemFunct = toolBarItem;
@@ -53,7 +53,7 @@ public class GxtItemsPanel extends ContentPanel{
}
- public GxtToolBarItemAccounting getToolBarItemDetails() {
+ public GxtBottomToolBarItem getToolBarItemDetails() {
return toolBarItemDetails;
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemAccounting.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java
similarity index 82%
rename from src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemAccounting.java
rename to src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java
index 5c6ed8d..ca30bad 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemAccounting.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java
@@ -4,6 +4,8 @@ import org.gcube.portlets.user.workspace.client.AppController;
import org.gcube.portlets.user.workspace.client.event.AccountingHistoryEvent;
import org.gcube.portlets.user.workspace.client.event.AccountingReadersEvent;
import org.gcube.portlets.user.workspace.client.event.GetInfoEvent;
+import org.gcube.portlets.user.workspace.client.event.TrashEvent;
+import org.gcube.portlets.user.workspace.client.event.TrashEvent.TRASHOPERATION;
import org.gcube.portlets.user.workspace.client.resources.Resources;
import com.extjs.gxt.ui.client.event.ButtonEvent;
@@ -11,6 +13,7 @@ import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.Text;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.TextField;
+import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
@@ -18,7 +21,7 @@ import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
*
*/
-public class GxtToolBarItemAccounting extends ToolBar{
+public class GxtBottomToolBarItem extends ToolBar{
/**
*
@@ -40,8 +43,9 @@ public class GxtToolBarItemAccounting extends ToolBar{
private Button btnGetInfo;
private Button bHistory;
private Button bRead;
+ private Button btnGetTrash;
- public GxtToolBarItemAccounting(){
+ public GxtBottomToolBarItem(){
super();
initToolbar();
}
@@ -94,7 +98,25 @@ public class GxtToolBarItemAccounting extends ToolBar{
// add(new SeparatorToolItem());
// add(bRead);
+
+ btnGetTrash = new Button("Trash");
+ btnGetTrash.setIcon(Resources.getTrash());
+ btnGetTrash.addSelectionListener(new SelectionListener() {
+
+ @Override
+ public void componentSelected(ButtonEvent ce) {
+
+ AppController.getEventBus().fireEvent(new TrashEvent(TRASHOPERATION.SHOW, null));
+
+ }
+ });
+
+ add(new FillToolItem());
+ add(btnGetTrash);
+
enableButtons(false);
+
+
}
public void resetDetails(){