enhancement on copy/paste

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@81304 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2013-09-12 12:53:00 +00:00
parent 118b29b5e3
commit 012b120035
2 changed files with 44 additions and 15 deletions

View File

@ -56,7 +56,6 @@ import org.gcube.portlets.user.workspace.client.event.PathElementSelectedEvent;
import org.gcube.portlets.user.workspace.client.event.PathElementSelectedEventHandler;
import org.gcube.portlets.user.workspace.client.event.PreviewMessageEvent;
import org.gcube.portlets.user.workspace.client.event.PreviewMessageEventHandler;
import org.gcube.portlets.user.workspace.client.event.RefreshFolderEvent;
import org.gcube.portlets.user.workspace.client.event.RenameItemEvent;
import org.gcube.portlets.user.workspace.client.event.RenameItemEventHandler;
import org.gcube.portlets.user.workspace.client.event.SaveAttachmentsEvent;
@ -138,7 +137,8 @@ public class AppController implements SubscriberInterface {
EventsTypeEnum.REPLY_FORWARD_MESSAGE,
EventsTypeEnum.FILE_DOWNLAD_EVENT,
EventsTypeEnum.SESSION_EXPIRED,
EventsTypeEnum.PASTED_EVENT
EventsTypeEnum.PASTED_EVENT,
EventsTypeEnum.COPY_EVENT
});
bind();
}
@ -173,7 +173,21 @@ public class AppController implements SubscriberInterface {
@Override
public void onCopyAndPaste(PasteItemEvent pasteItemEvent) {
AppControllerExplorer.getEventBus().fireEvent(new PasteItemEvent(pasteItemEvent.getItemId(), pasteItemEvent.getFolderDestinationId()));
String folderDestinationId = null;
if(pasteItemEvent.getFolderDestinationId()!=null){ //IF FOLDER DESTINATION EXISTS
folderDestinationId = pasteItemEvent.getFolderDestinationId();
}else{
FileModel file = wsPortlet.getToolBarPath().getLastParent();
if(file.getIdentifier()!=null){ //GET LAST PARENT FROM BREADRUMB
folderDestinationId = file.getIdentifier();
}
}
if(folderDestinationId!=null)
AppControllerExplorer.getEventBus().fireEvent(new PasteItemEvent(pasteItemEvent.getItemId(), folderDestinationId));
}
});
@ -1257,12 +1271,15 @@ public class AppController implements SubscriberInterface {
@Override
public void refreshFolder(FileModel folderTarget) {
//REFRESH FOLDER ONLY IF IS DISPLAYED YOUR CHILDREN
FileGridModel file = wsPortlet.getGridGroupContainer().getFileGridModelByIdentifier(folderTarget.getIdentifier());
if(folderTarget!=null){
if(file==null)
updateStoreByRpc(folderTarget);
//REFRESH FOLDER ONLY IF IS DISPLAYED YOUR CHILDREN
FileGridModel folder = wsPortlet.getGridGroupContainer().getFileGridModelByIdentifier(folderTarget.getIdentifier());
GWT.log("refresh folder :" +folder);
updateStoreByRpc(folderTarget);
}
}
// @Override
@ -1347,4 +1364,14 @@ public class AppController implements SubscriberInterface {
}
/* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#copyEventIsCompleted()
*/
@Override
public void copyEventIsCompleted() {
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activePasteButton(true);
}
}

View File

@ -309,15 +309,17 @@ public class GxtToolBarItemFunctionality {
public void componentSelected(ButtonEvent ce) {
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
FileModel parentTarget = getDirectoryOrParent(fileGridModel);
if(parentTarget!=null){
String parentId = null;
if(parentTarget!=null)
parentId=parentTarget.getIdentifier();
AppController.getEventBus().fireEvent(new PasteItemEvent(CopyAndPaste.getCopiedfileModelId(), parentId));
CopyAndPaste.setCopiedfileModelId(null);
btnPasteItem.setEnabled(false);
AppController.getEventBus().fireEvent(new PasteItemEvent(CopyAndPaste.getCopiedfileModelId(), parentTarget.getIdentifier()));
CopyAndPaste.setCopiedfileModelId(null);
btnPasteItem.setEnabled(false);
}
}
});
@ -510,7 +512,7 @@ public class GxtToolBarItemFunctionality {
* @param fileModel
* @return
*/
private FileModel getDirectoryOrParent(FileModel fileModel){
private FileModel getDirectoryOrParent(FileGridModel fileModel){
if(fileModel!=null){
if(fileModel.isDirectory())