Ticket #1868: enhancement is completed

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@81162 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2013-09-09 15:37:49 +00:00
parent c8e78b701a
commit 35aaa45853
6 changed files with 87 additions and 39 deletions

View File

@ -11,7 +11,7 @@
<groupId>org.gcube.portlets.user</groupId> <groupId>org.gcube.portlets.user</groupId>
<artifactId>workspace</artifactId> <artifactId>workspace</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>6.3.0-SNAPSHOT</version> <version>6.4.0-SNAPSHOT</version>
<name>gCube Workspace Portlet</name> <name>gCube Workspace Portlet</name>
<description> <description>
gcube Workspace Portlet is a portlet for users workspace management gcube Workspace Portlet is a portlet for users workspace management

View File

@ -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.GridElementSelectedEventHandler;
import org.gcube.portlets.user.workspace.client.event.GridElementUnSelectedEvent; 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.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.ImagePreviewEvent;
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEventHandler; import org.gcube.portlets.user.workspace.client.event.ImagePreviewEventHandler;
import org.gcube.portlets.user.workspace.client.event.LoadAllScopeEvent; 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.SearchTextEventHandler;
import org.gcube.portlets.user.workspace.client.event.SendMessageEvent; 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.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.WebDavUrlEvent;
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEventHandler; import org.gcube.portlets.user.workspace.client.event.WebDavUrlEventHandler;
import org.gcube.portlets.user.workspace.client.interfaces.EventsTypeEnum; import org.gcube.portlets.user.workspace.client.interfaces.EventsTypeEnum;
@ -111,7 +112,6 @@ public class AppController implements SubscriberInterface {
private HasWidgets rootPanel; private HasWidgets rootPanel;
public AppController(AppControllerExplorer appControllerExplorer) { public AppController(AppControllerExplorer appControllerExplorer) {
this.appContrExplorer = appControllerExplorer; this.appContrExplorer = appControllerExplorer;
this.appContrExplorer.subscribe(this, new EventsTypeEnum[] { this.appContrExplorer.subscribe(this, new EventsTypeEnum[] {
@ -235,6 +235,21 @@ public class AppController implements SubscriberInterface {
AppControllerExplorer.getEventBus().fireEvent(new GetShareLinkEvent(getLinkEvent.getSourceFile())); 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() { eventBus.addHandler(PreviewMessageEvent.TYPE, new PreviewMessageEventHandler() {
@ -440,11 +455,13 @@ public class AppController implements SubscriberInterface {
if(searchTextEvent.getTextSearch()==null){ if(searchTextEvent.getTextSearch()==null){
appContrExplorer.searching(false); appContrExplorer.searching(false);
wsPortlet.getGridGroupContainer().setBorderAsOnSearch(false); wsPortlet.getGridGroupContainer().setBorderAsOnSearch(false);
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
} }
else{ else{
wsPortlet.getSearchAndFilterContainer().setSearchActive(true); //ADDED 06-04-12 wsPortlet.getSearchAndFilterContainer().setSearchActive(true); //ADDED 06-04-12
// setSearchActive(true); // setSearchActive(true);
appContrExplorer.searching(true); appContrExplorer.searching(true);
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(true); //ADDED 09-08-13
doSearchText(searchTextEvent.getTextSearch()); doSearchText(searchTextEvent.getTextSearch());
} }
} }
@ -890,39 +907,6 @@ public class AppController implements SubscriberInterface {
else else
initPortlet(rootPanel, instanceWithGrouping, searchingForItemId, searchParameter, itemIdParameter, operationParameter); 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){ 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 @Override
public void execute() { public void execute() {
wsPortlet.getSearchAndFilterContainer().searchText(searchParameter); wsPortlet.getSearchAndFilterContainer().searchText(searchParameter);
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
} }
}); });
} else if(itemIdParameter!=null && !itemIdParameter.isEmpty()){ //SEARCH FOR ITEM ID } else if(itemIdParameter!=null && !itemIdParameter.isEmpty()){ //SEARCH FOR ITEM ID
@ -952,6 +937,7 @@ public class AppController implements SubscriberInterface {
@Override @Override
public void execute() { public void execute() {
AppController.getEventBus().fireEvent(new SearchItemByIdEvent(itemIdParameter, operationParameter)); AppController.getEventBus().fireEvent(new SearchItemByIdEvent(itemIdParameter, operationParameter));
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSearch(false); //ADDED 09-08-13
} }
}); });

View File

@ -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<GridRefreshEventHandler> {
public static Type<GridRefreshEventHandler> TYPE = new Type<GridRefreshEventHandler>();
public GridRefreshEvent() {
}
@Override
public Type<GridRefreshEventHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(GridRefreshEventHandler handler) {
handler.onGridRefresh(this);
}
}

View File

@ -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);
}

View File

@ -332,7 +332,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
public boolean updateStore(List<FileGridModel> result){ public boolean updateStore(List<FileGridModel> result){
resetStore(); resetStore();
if(result!= null){ if(result!= null && result.size()>0){
for(FileGridModel file: result) for(FileGridModel file: result)
file.setIcon(); file.setIcon();
store.add(result); store.add(result);

View File

@ -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.FileUploadEvent.UploadType;
import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent; 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.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.ImagePreviewEvent;
import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent; import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent;
import org.gcube.portlets.user.workspace.client.event.RenameItemEvent; import org.gcube.portlets.user.workspace.client.event.RenameItemEvent;
@ -96,8 +97,7 @@ public class GxtToolBarItemFunctionality {
toolBar.add(btnUploadFile); toolBar.add(btnUploadFile);
btnRefreshFolder = new Button(ConstantsPortlet.REFRESH, btnRefreshFolder = new Button(ConstantsPortlet.REFRESH, Resources.getIconRefresh());
Resources.getIconRefresh());
btnRefreshFolder.setScale(ButtonScale.SMALL); btnRefreshFolder.setScale(ButtonScale.SMALL);
btnRefreshFolder.setIconAlign(IconAlign.TOP); btnRefreshFolder.setIconAlign(IconAlign.TOP);
btnRefreshFolder.setArrowAlign(ButtonArrowAlign.BOTTOM); btnRefreshFolder.setArrowAlign(ButtonArrowAlign.BOTTOM);
@ -264,6 +264,16 @@ public class GxtToolBarItemFunctionality {
}); });
btnRefreshFolder.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
AppController.getEventBus().fireEvent(new GridRefreshEvent());
}
});
btnPublicLink.addSelectionListener(new SelectionListener<ButtonEvent>() { btnPublicLink.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override @Override
@ -545,4 +555,11 @@ public class GxtToolBarItemFunctionality {
return this.toolBar; return this.toolBar;
} }
/**
* @param b
*/
public void activeButtonsOnSearch(boolean b) {
btnRefreshFolder.setEnabled(!b);
}
} }