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:
parent
c8e78b701a
commit
35aaa45853
2
pom.xml
2
pom.xml
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue