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>
<artifactId>workspace</artifactId>
<packaging>war</packaging>
<version>6.3.0-SNAPSHOT</version>
<version>6.4.0-SNAPSHOT</version>
<name>gCube Workspace Portlet</name>
<description>
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.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
}
});

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){
resetStore();
if(result!= null){
if(result!= null && result.size()>0){
for(FileGridModel file: result)
file.setIcon();
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.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<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
AppController.getEventBus().fireEvent(new GridRefreshEvent());
}
});
btnPublicLink.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
@ -545,4 +555,11 @@ public class GxtToolBarItemFunctionality {
return this.toolBar;
}
/**
* @param b
*/
public void activeButtonsOnSearch(boolean b) {
btnRefreshFolder.setEnabled(!b);
}
}