From edc0525220515b9d7470d2ca9726b78f7de4d7ac Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Tue, 11 Jun 2013 13:09:05 +0000 Subject: [PATCH] updated breadcrumb on share link git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@76982 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/client/AppController.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) 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 9168c2f..f63f1cd 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 @@ -5,6 +5,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import org.apache.bcel.generic.LADD; import org.gcube.portlets.user.workspace.client.ConstantsExplorer.ViewSwitchType; import org.gcube.portlets.user.workspace.client.ConstantsPortlet.ViewSwitchTypeInResult; import org.gcube.portlets.user.workspace.client.event.AccountingHistoryEvent; @@ -498,6 +499,9 @@ public class AppController implements SubscriberInterface { listResult.add(result); wsPortlet.getGridGroupContainer().updateStore(listResult); wsPortlet.getGridGroupContainer().unmask(); + + if(result!=null) + loadBreadcrumbById(result, false); //ADDED 13-06-2013 } }); } @@ -673,7 +677,7 @@ public class AppController implements SubscriberInterface { */ private void loadBreadcrumbById(final FileModel item, final boolean isLastParent){ - System.out.println("Reload Breadcrumb..."); + GWT.log("Reload Breadcrumb: [FileModel name: "+item.getName()+ ", isLastParent: "+isLastParent+"]"); AppControllerExplorer.rpcWorkspaceService.getListParentsByItemIdentifier(item.getIdentifier(), new AsyncCallback>() { @@ -686,7 +690,7 @@ public class AppController implements SubscriberInterface { @Override public void onSuccess(List result) { - if(isLastParent){ + if(isLastParent && item.isDirectory()){ result.add(item); } @@ -887,21 +891,22 @@ public class AppController implements SubscriberInterface { if(currentFolder!=null){ + if(item.isDirectory()) //ADDED 11-06-2013 + parents.add(item); + setPathInView(parents); //set path + //CASE IS A SEARCH if(wsPortlet.getSearchAndFilterContainer().isSearchActive()){ //ADDED 12-04-12 wsPortlet.getSearchAndFilterContainer().searchCancel(); //TODO added in 05/04/2012 AppController.getEventBus().fireEvent(new SearchTextEvent(null)); wsPortlet.getSearchAndFilterContainer().setSearchActive(false); // setSearchActive(false); - if(item.isDirectory()) - updateStoreByRpc(item); - else - updateStoreByRpc(item.getParentFileModel()); - + updatGridViewForSelectedItem(item); return; } + //CASE IS NOT A SEARCH if (item.isDirectory()) updateStoreByRpc(item); //View children of folder else{ @@ -912,8 +917,25 @@ public class AppController implements SubscriberInterface { } } } + else{ + updatGridViewForSelectedItem(item); //No operation is running.. view only items of same level tree of selected item + loadBreadcrumbById(item, true); + } + } + + /** + * + * @param item + */ + private void updatGridViewForSelectedItem(FileModel item){ + + if(item==null) + return; + + if(item.isDirectory()) + updateStoreByRpc(item); else - updateStoreByRpc(item); //View children of root + updateStoreByRpc(item.getParentFileModel()); } @Override