diff --git a/pom.xml b/pom.xml
index a61af74..056b92c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.portlets.user
workspace
war
- 6.3.0-SNAPSHOT
+ 6.4.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 72c1cb5..40d3737 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
@@ -38,6 +38,8 @@ import org.gcube.portlets.user.workspace.client.event.GridElementSelectedEvent;
import org.gcube.portlets.user.workspace.client.event.GridElementSelectedEventHandler;
import org.gcube.portlets.user.workspace.client.event.GridElementUnSelectedEvent;
import org.gcube.portlets.user.workspace.client.event.GridElementUnSelectedEventHandler;
+import org.gcube.portlets.user.workspace.client.event.GridRefreshEvent;
+import org.gcube.portlets.user.workspace.client.event.GridRefreshEventHandler;
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEventHandler;
import org.gcube.portlets.user.workspace.client.event.LoadAllScopeEvent;
@@ -66,7 +68,6 @@ 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.SessionExpiredEvent;
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;
@@ -111,7 +112,6 @@ public class AppController implements SubscriberInterface {
private HasWidgets rootPanel;
-
public AppController(AppControllerExplorer appControllerExplorer) {
this.appContrExplorer = appControllerExplorer;
this.appContrExplorer.subscribe(this, new EventsTypeEnum[] {
@@ -235,6 +235,21 @@ public class AppController implements SubscriberInterface {
AppControllerExplorer.getEventBus().fireEvent(new GetShareLinkEvent(getLinkEvent.getSourceFile()));
}
});
+
+ eventBus.addHandler(GridRefreshEvent.TYPE, new GridRefreshEventHandler() {
+
+ @Override
+ public void onGridRefresh(GridRefreshEvent gridRefreshEvent) {
+
+ if(wsPortlet.getToolBarPath().getLastParent()!=null){
+ FileModel parent = wsPortlet.getToolBarPath().getLastParent();
+
+ //CREATE FOLDER PARENT FOR RPC
+ FolderModel folder = new FolderModel(parent.getIdentifier(), parent.getName(), parent.getParentFileModel(), true, parent.isShared());
+ updateStoreByRpc(folder);
+ }
+ }
+ });
eventBus.addHandler(PreviewMessageEvent.TYPE, new PreviewMessageEventHandler() {
@@ -440,11 +455,13 @@ public class AppController implements SubscriberInterface {
if(searchTextEvent.getTextSearch()==null){
appContrExplorer.searching(false);
wsPortlet.getGridGroupContainer().setBorderAsOnSearch(false);
+ wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
}
else{
wsPortlet.getSearchAndFilterContainer().setSearchActive(true); //ADDED 06-04-12
// setSearchActive(true);
appContrExplorer.searching(true);
+ wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(true); //ADDED 09-08-13
doSearchText(searchTextEvent.getTextSearch());
}
}
@@ -890,39 +907,6 @@ public class AppController implements SubscriberInterface {
else
initPortlet(rootPanel, instanceWithGrouping, searchingForItemId, searchParameter, itemIdParameter, operationParameter);
-
-//// System.out.println("isSearch "+isSearch);
-//// System.out.println("isSearchForItemId "+isSearchForItemId);
-//
-// rootPanel.add(wsPortlet.getBorderLayoutContainer());
-//
-// //SET TOGGLE BUTTON GRID VIEW
-// Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-//
-// @Override
-// public void execute() {
-// wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().toggleGridViewButton(instanceWithGrouping);
-// }
-// });
-//
-// //IF IS SEARCH and IS NOT SEARCH FOR ITEM ID - fire event search text
-// if(searchParameter!=null && !searchParameter.isEmpty() && !isSearchForItemId){
-// Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-// @Override
-// public void execute() {
-// wsPortlet.getSearchAndFilterContainer().searchText(searchParameter);
-// }
-// });
-// } else if(itemIdParameter!=null && !itemIdParameter.isEmpty()){ //SEARCH FOR ITEM ID
-//
-// Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-// @Override
-// public void execute() {
-// AppController.getEventBus().fireEvent(new SearchItemByIdEvent(itemIdParameter, operationParameter));
-// }
-// });
-//
-// }
}
private void initPortlet(final HasWidgets rootPanel, final boolean instanceWithGrouping, boolean isSearchForItemId, final String searchParameter, final String itemIdParameter, final String operationParameter){
@@ -944,6 +928,7 @@ public class AppController implements SubscriberInterface {
@Override
public void execute() {
wsPortlet.getSearchAndFilterContainer().searchText(searchParameter);
+ wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
}
});
} else if(itemIdParameter!=null && !itemIdParameter.isEmpty()){ //SEARCH FOR ITEM ID
@@ -952,6 +937,7 @@ public class AppController implements SubscriberInterface {
@Override
public void execute() {
AppController.getEventBus().fireEvent(new SearchItemByIdEvent(itemIdParameter, operationParameter));
+ wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
}
});
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEvent.java
new file mode 100644
index 0000000..e210a53
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEvent.java
@@ -0,0 +1,30 @@
+package org.gcube.portlets.user.workspace.client.event;
+
+import org.gcube.portlets.user.workspace.client.model.FileGridModel;
+
+import com.extjs.gxt.ui.client.data.ModelData;
+import com.google.gwt.event.shared.GwtEvent;
+
+/**
+ *
+ * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
+ *
+ */
+public class GridRefreshEvent extends GwtEvent {
+ public static Type TYPE = new Type();
+
+ public GridRefreshEvent() {
+
+ }
+
+ @Override
+ public Type getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(GridRefreshEventHandler handler) {
+ handler.onGridRefresh(this);
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEventHandler.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEventHandler.java
new file mode 100644
index 0000000..4942dc2
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/GridRefreshEventHandler.java
@@ -0,0 +1,15 @@
+package org.gcube.portlets.user.workspace.client.event;
+
+import com.google.gwt.event.shared.EventHandler;
+
+/**
+ *
+ * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
+ *
+ */
+public interface GridRefreshEventHandler extends EventHandler {
+ /**
+ * @param gridRefreshEvent
+ */
+ void onGridRefresh(GridRefreshEvent gridRefreshEvent);
+}
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 52e24eb..728d4ce 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
@@ -332,7 +332,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
public boolean updateStore(List result){
resetStore();
- if(result!= null){
+ if(result!= null && result.size()>0){
for(FileGridModel file: result)
file.setIcon();
store.add(result);
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java
index ddd9c00..038e001 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java
@@ -13,6 +13,7 @@ import org.gcube.portlets.user.workspace.client.event.FileUploadEvent;
import org.gcube.portlets.user.workspace.client.event.FileUploadEvent.UploadType;
import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent;
import org.gcube.portlets.user.workspace.client.event.GetShareLinkEvent;
+import org.gcube.portlets.user.workspace.client.event.GridRefreshEvent;
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent;
import org.gcube.portlets.user.workspace.client.event.RenameItemEvent;
@@ -96,8 +97,7 @@ public class GxtToolBarItemFunctionality {
toolBar.add(btnUploadFile);
- btnRefreshFolder = new Button(ConstantsPortlet.REFRESH,
- Resources.getIconRefresh());
+ btnRefreshFolder = new Button(ConstantsPortlet.REFRESH, Resources.getIconRefresh());
btnRefreshFolder.setScale(ButtonScale.SMALL);
btnRefreshFolder.setIconAlign(IconAlign.TOP);
btnRefreshFolder.setArrowAlign(ButtonArrowAlign.BOTTOM);
@@ -264,6 +264,16 @@ public class GxtToolBarItemFunctionality {
});
+ btnRefreshFolder.addSelectionListener(new SelectionListener() {
+
+ @Override
+ public void componentSelected(ButtonEvent ce) {
+
+ AppController.getEventBus().fireEvent(new GridRefreshEvent());
+
+ }
+ });
+
btnPublicLink.addSelectionListener(new SelectionListener() {
@Override
@@ -545,4 +555,11 @@ public class GxtToolBarItemFunctionality {
return this.toolBar;
}
+ /**
+ * @param b
+ */
+ public void activeButtonsOnSearch(boolean b) {
+ btnRefreshFolder.setEnabled(!b);
+ }
+
}