2013-02-06 15:40:17 +01:00
|
|
|
package org.gcube.portlets.user.workspace.client.view.tree;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import org.gcube.portlets.user.workspace.client.AppControllerExplorer;
|
|
|
|
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
2015-10-06 12:16:22 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.ConstantsExplorer.WS_UPLOAD_TYPE;
|
2013-03-26 17:31:13 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.constant.WorkspaceOperation;
|
2013-05-27 12:21:16 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.AccountingHistoryEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.AccountingReadersEvent;
|
2014-07-08 18:41:53 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.AddAdministratorEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.AddFolderEvent;
|
2013-09-12 14:53:21 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.CopytemEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.CreateSharedFolderEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.CreateUrlEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.DeleteItemEvent;
|
2015-01-28 12:42:48 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.EditUserPermissionEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.FileUploadEvent;
|
2016-09-14 12:17:14 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetFolderLinkEvent;
|
2013-03-25 12:35:05 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetInfoEvent;
|
2013-07-09 14:48:34 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent;
|
2013-06-11 15:12:02 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetShareLinkEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.OpenUrlEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.PasteItemEvent;
|
2016-06-27 16:27:48 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.PublishOnDataCatalogueEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
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.SendMessageEvent;
|
2018-03-01 11:34:08 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.SyncWithThreddsCatalogueEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.UnShareFolderEvent;
|
2014-03-18 12:54:39 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.VRESettingPermissionEvent;
|
2017-02-20 18:03:49 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.VersioningHistoryShowEvent;
|
2013-02-06 15:40:17 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
|
|
|
import org.gcube.portlets.user.workspace.client.resources.Resources;
|
2014-01-23 17:20:38 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.util.FileModelUtils;
|
2014-01-24 16:01:15 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.view.tree.CutCopyAndPaste.OperationType;
|
2017-02-20 18:03:49 +01:00
|
|
|
import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation;
|
2013-02-06 15:40:17 +01:00
|
|
|
|
|
|
|
import com.extjs.gxt.ui.client.event.MenuEvent;
|
|
|
|
import com.extjs.gxt.ui.client.event.SelectionListener;
|
2013-03-27 17:30:37 +01:00
|
|
|
import com.extjs.gxt.ui.client.widget.Info;
|
2013-02-06 15:40:17 +01:00
|
|
|
import com.extjs.gxt.ui.client.widget.menu.Menu;
|
|
|
|
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
|
|
|
|
import com.extjs.gxt.ui.client.widget.menu.SeparatorMenuItem;
|
2013-03-25 11:14:26 +01:00
|
|
|
import com.google.gwt.core.client.GWT;
|
2013-02-06 15:40:17 +01:00
|
|
|
import com.google.gwt.event.shared.HandlerManager;
|
2013-03-27 17:30:37 +01:00
|
|
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
2013-02-06 15:40:17 +01:00
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* The Class ContextMenuTree.
|
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
|
|
|
* Nov 17, 2015
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public class ContextMenuTree {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
private Menu contextMenu = new Menu();
|
|
|
|
private HandlerManager eventBus = AppControllerExplorer.getEventBus();
|
|
|
|
private List<FileModel> listSelectedItems = null;
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
private MenuItem mnRead = new MenuItem();
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
private boolean hideSharing = false;
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Instantiates a new context menu tree.
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public ContextMenuTree() {
|
2016-07-04 10:42:03 +02:00
|
|
|
this.contextMenu.setWidth(140);
|
2013-03-25 11:14:26 +01:00
|
|
|
this.listSelectedItems = new ArrayList<FileModel>();
|
|
|
|
createContextMenu();
|
2013-02-13 18:39:33 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Creates the context menu.
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
private void createContextMenu() {
|
|
|
|
//SPECIFIC OPERATION
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
//Preview Image
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem previewImage = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
previewImage.setId(WorkspaceOperation.PREVIEW.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
previewImage.setText(ConstantsExplorer.MESSAGE_PREVIEW);
|
|
|
|
previewImage.setIcon(Resources.getIconPreview());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
previewImage.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
if(selected!=null){
|
|
|
|
eventBus.fireEvent(new ImagePreviewEvent(selected, ce.getClientX(), ce.getClientY()));
|
|
|
|
}
|
|
|
|
}
|
2016-07-04 10:42:03 +02:00
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(previewImage);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
//Open Url
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem openUrl = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
openUrl.setId(WorkspaceOperation.LINK.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
openUrl.setText(ConstantsExplorer.MESSAGE_OPEN_URL);
|
|
|
|
openUrl.setIcon(Resources.getIconOpenUrl());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
openUrl.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
|
|
|
|
if(selected!=null){
|
|
|
|
eventBus.fireEvent(new OpenUrlEvent(selected));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(openUrl);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
//Open Report Template
|
2016-11-25 12:03:25 +01:00
|
|
|
//TODO REMOVE
|
2017-01-25 12:05:57 +01:00
|
|
|
// MenuItem openReportTemplate = new MenuItem();
|
|
|
|
// openReportTemplate.setId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId());
|
|
|
|
// openReportTemplate.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT_TEMPLATE);
|
|
|
|
// openReportTemplate.setIcon(Resources.getIconShow());
|
|
|
|
//
|
|
|
|
// openReportTemplate.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
// public void componentSelected(MenuEvent ce) {
|
|
|
|
//
|
|
|
|
// FileModel selected = listSelectedItems.get(0);
|
|
|
|
//
|
|
|
|
// if(selected!=null){
|
|
|
|
// eventBus.fireEvent(new OpenReportsEvent(selected));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// });
|
2016-11-25 12:03:25 +01:00
|
|
|
|
|
|
|
//contextMenu.add(openReportTemplate);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
//Open Report Template
|
2016-11-25 12:03:25 +01:00
|
|
|
//TODO REMOVE
|
2017-01-25 12:05:57 +01:00
|
|
|
// MenuItem openReport = new MenuItem();
|
|
|
|
// openReport.setId(WorkspaceOperation.OPEN_REPORT.getId());
|
|
|
|
// openReport.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT);
|
|
|
|
// openReport.setIcon(Resources.getIconShow());
|
|
|
|
//
|
|
|
|
// openReport.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
// public void componentSelected(MenuEvent ce) {
|
|
|
|
//
|
|
|
|
// FileModel selected = listSelectedItems.get(0);
|
|
|
|
//
|
|
|
|
// if (selected != null){
|
|
|
|
// eventBus.fireEvent(new OpenReportsEvent(selected));
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
// });
|
2016-11-25 12:03:25 +01:00
|
|
|
|
|
|
|
//contextMenu.add(openReport);
|
2013-03-25 11:14:26 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2013-02-06 15:40:17 +01:00
|
|
|
//END SPECIFIC OPERATION
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem mnGetInfo = new MenuItem();
|
2013-03-26 17:51:36 +01:00
|
|
|
mnGetInfo.setId(WorkspaceOperation.GET_INFO.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
mnGetInfo.setText(ConstantsExplorer.MESSAGE_GET_INFO);
|
|
|
|
mnGetInfo.setIcon(Resources.getIconInfo());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
mnGetInfo.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-26 17:51:36 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new GetInfoEvent(sel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(mnGetInfo);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
|
|
|
|
2017-02-20 18:03:49 +01:00
|
|
|
MenuItem mnFileVersioning = new MenuItem();
|
|
|
|
mnFileVersioning.setId(WorkspaceOperation.VERSIONING.getId());
|
|
|
|
mnFileVersioning.setText(ConstantsExplorer.FILE_VERSIONS);
|
|
|
|
mnFileVersioning.setIcon(Resources.getIconVersioning());
|
|
|
|
|
|
|
|
mnFileVersioning.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new VersioningHistoryShowEvent(WorkspaceVersioningOperation.SHOW, sel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
contextMenu.add(mnFileVersioning);
|
|
|
|
|
|
|
|
|
2013-06-07 14:07:37 +02:00
|
|
|
//SHARE LINK
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem mnGetLink = new MenuItem();
|
2013-06-07 14:07:37 +02:00
|
|
|
mnGetLink.setId(WorkspaceOperation.SHARE_LINK.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
mnGetLink.setText(ConstantsExplorer.MESSAGE_SHARE_LINK);
|
|
|
|
mnGetLink.setIcon(Resources.getIconShareLink());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
mnGetLink.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-06-07 14:07:37 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new GetShareLinkEvent(sel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(mnGetLink);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-07-09 14:48:34 +02:00
|
|
|
//PUBLIC LINK
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem mnPublicLink = new MenuItem();
|
2013-07-09 14:48:34 +02:00
|
|
|
mnPublicLink.setId(WorkspaceOperation.PUBLIC_LINK.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
mnPublicLink.setText(ConstantsExplorer.MESSAGE_PUBLIC_LINK);
|
|
|
|
mnPublicLink.setIcon(Resources.getIconPublicLink());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
mnPublicLink.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-07-09 14:48:34 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new GetPublicLinkEvent(sel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(mnPublicLink);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-09-14 12:17:14 +02:00
|
|
|
|
|
|
|
//FOLDER LINK
|
|
|
|
MenuItem mnFolderLink = new MenuItem();
|
|
|
|
mnFolderLink.setId(WorkspaceOperation.FOLDER_LINK.getId());
|
|
|
|
mnFolderLink.setText(ConstantsExplorer.MESSAGE_FOLDER_LINK);
|
2016-09-15 16:42:20 +02:00
|
|
|
mnFolderLink.setIcon(Resources.getIconFolderPublic());
|
2016-09-14 12:17:14 +02:00
|
|
|
|
|
|
|
mnFolderLink.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
if(sel.isDirectory())
|
2016-09-15 18:07:32 +02:00
|
|
|
eventBus.fireEvent(new GetFolderLinkEvent(sel, true));
|
2016-09-14 12:17:14 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
contextMenu.add(mnFolderLink);
|
|
|
|
|
2016-09-15 18:07:32 +02:00
|
|
|
|
|
|
|
//FOLDER LINK REMOVE
|
|
|
|
MenuItem mnFolderLinkRemove = new MenuItem();
|
|
|
|
mnFolderLinkRemove.setId(WorkspaceOperation.FOLDER_LINK_REMOVE.getId());
|
|
|
|
mnFolderLinkRemove.setText(ConstantsExplorer.MESSAGE_FOLDER_LINK_REMOVE);
|
|
|
|
mnFolderLinkRemove.setIcon(Resources.getIconFolderPublicRemove());
|
|
|
|
|
|
|
|
mnFolderLinkRemove.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
if(sel.isDirectory())
|
|
|
|
eventBus.fireEvent(new GetFolderLinkEvent(sel, false));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
contextMenu.add(mnFolderLinkRemove);
|
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
MenuItem mnHistory = new MenuItem();
|
|
|
|
mnHistory.setIcon(Resources.getIconHistory());
|
|
|
|
mnHistory.setId(WorkspaceOperation.HISTORY.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
mnHistory.setText(ConstantsExplorer.HISTORY);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
mnHistory.addSelectionListener(new SelectionListener<MenuEvent>() {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
@Override
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
final FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
|
|
|
|
if (sourceFileModel != null) {
|
|
|
|
|
|
|
|
eventBus.fireEvent(new AccountingHistoryEvent(sourceFileModel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(mnHistory);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
//ACCOUNTING READ
|
|
|
|
mnRead = new MenuItem();
|
|
|
|
mnRead.setIcon(Resources.getIconRead());
|
|
|
|
mnRead.setId(WorkspaceOperation.ACCREAD.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
mnRead.setText(ConstantsExplorer.ACCREAD);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
mnRead.addSelectionListener(new SelectionListener<MenuEvent>() {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
@Override
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
final FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
|
|
|
|
if (sourceFileModel != null) {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-05-27 12:21:16 +02:00
|
|
|
eventBus.fireEvent(new AccountingReadersEvent(sourceFileModel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-08-30 11:04:57 +02:00
|
|
|
//COMMENTED AT 29/08/2013
|
2016-07-04 10:42:03 +02:00
|
|
|
// contextMenu.add(mnRead);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-26 17:51:36 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem insertFolder = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
insertFolder.setId(WorkspaceOperation.INSERT_FOLDER.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
insertFolder.setText(ConstantsExplorer.MESSAGE_ADD_FOLDER);
|
|
|
|
insertFolder.setIcon(Resources.getIconAddFolder());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
insertFolder.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
final FileModel sourceFileModel = listSelectedItems.get(0);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
if (sourceFileModel != null) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
eventBus.fireEvent(new AddFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(insertFolder);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem createShareFolder = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
createShareFolder.setId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
createShareFolder.setText(ConstantsExplorer.MESSAGE_ADD_SHARED_FOLDER);
|
|
|
|
createShareFolder.setIcon(Resources.getIconSharedFolder());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
createShareFolder.addSelectionListener(new SelectionListener<MenuEvent>() {
|
2013-02-06 15:40:17 +01:00
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
2014-02-26 17:35:20 +01:00
|
|
|
FileModel sourceFileModel = listSelectedItems.get(0);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
if (sourceFileModel != null) {
|
2013-02-12 16:02:00 +01:00
|
|
|
eventBus.fireEvent(new CreateSharedFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel(), true));
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(createShareFolder);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
|
|
|
// publish on data catalogue
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem publishOnDataCatalogue = new MenuItem();
|
2016-06-27 16:27:48 +02:00
|
|
|
publishOnDataCatalogue.setId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
publishOnDataCatalogue.setText(ConstantsExplorer.MESSAGE_DATA_CATALOGUE_PUBLISH);
|
|
|
|
publishOnDataCatalogue.setIcon(Resources.getIconDataCataloguePublish()); // TODO change icon
|
2016-06-27 16:27:48 +02:00
|
|
|
|
|
|
|
publishOnDataCatalogue.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
if (sourceFileModel != null) {
|
2017-09-27 18:38:30 +02:00
|
|
|
eventBus.fireEvent(new PublishOnDataCatalogueEvent(sourceFileModel.getIdentifier()));
|
2016-06-27 16:27:48 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
publishOnDataCatalogue.setVisible(false);
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(publishOnDataCatalogue);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2017-09-27 18:38:30 +02:00
|
|
|
// publish on data catalogue
|
|
|
|
MenuItem publishOnThredds = new MenuItem();
|
|
|
|
publishOnThredds.setId(WorkspaceOperation.PUBLISH_ON_THREDDS.getId());
|
|
|
|
publishOnThredds.setText(ConstantsExplorer.MESSAGE_THREDDS_PUBLISH);
|
|
|
|
publishOnThredds.setIcon(Resources.getIconThreddsPublish()); // TODO change icon
|
|
|
|
|
|
|
|
publishOnThredds.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
if (sourceFileModel != null) {
|
2018-03-01 11:34:08 +01:00
|
|
|
eventBus.fireEvent(new SyncWithThreddsCatalogueEvent(sourceFileModel));
|
2017-09-27 18:38:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
publishOnThredds.setVisible(false);
|
|
|
|
contextMenu.add(publishOnThredds);
|
|
|
|
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem editPermissions = new MenuItem();
|
2015-01-28 12:42:48 +01:00
|
|
|
editPermissions.setId(WorkspaceOperation.EDIT_PERMISSIONS.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
editPermissions.setText(ConstantsExplorer.EDIT_PERMISSIONS);
|
|
|
|
editPermissions.setIcon(Resources.getIconPermissions());
|
2015-01-28 12:42:48 +01:00
|
|
|
|
|
|
|
editPermissions.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
|
|
|
|
FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
|
|
|
|
if (sourceFileModel != null) {
|
|
|
|
eventBus.fireEvent(new EditUserPermissionEvent(sourceFileModel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(editPermissions);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
//Add Url
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem addUrl = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
addUrl.setId(WorkspaceOperation.ADD_URL.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
addUrl.setText(ConstantsExplorer.MESSAGE_ADD_URL);
|
|
|
|
addUrl.setIcon(Resources.getIconAddUrl());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
addUrl.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
|
2018-03-06 14:37:32 +01:00
|
|
|
FileModel parent = selected.getParentFileModel();
|
|
|
|
if(parent==null){
|
|
|
|
if(selected.isDirectory()){
|
|
|
|
parent = selected;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//FileModel parent = getDirectoryOrParent(selected);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
if(parent!=null){
|
|
|
|
eventBus.fireEvent(new CreateUrlEvent(null, parent));
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(addUrl);
|
2013-03-25 11:14:26 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
|
|
|
|
MenuItem copy = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
copy.setId(WorkspaceOperation.COPY.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
copy.setText(ConstantsExplorer.COPYITEM);
|
|
|
|
copy.setIcon(Resources.getIconCopy());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
copy.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2014-01-23 17:20:38 +01:00
|
|
|
List<String> ids = FileModelUtils.convertFileModelsToIds(listSelectedItems);
|
|
|
|
if(ids.size()>0){
|
2014-01-24 16:01:15 +01:00
|
|
|
CutCopyAndPaste.copy(ids, OperationType.COPY);
|
2014-01-23 17:20:38 +01:00
|
|
|
eventBus.fireEvent(new CopytemEvent(ids));
|
2013-03-25 11:14:26 +01:00
|
|
|
}
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(copy);
|
2013-02-06 15:40:17 +01:00
|
|
|
|
2013-03-25 11:14:26 +01:00
|
|
|
MenuItem paste = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
paste.setId(WorkspaceOperation.PASTE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
paste.setText(ConstantsExplorer.PASTEITEM);
|
|
|
|
paste.setIcon(Resources.getIconPaste());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
paste.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel target : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
FileModel parentTarget = getDirectoryOrParent(target);
|
|
|
|
if(parentTarget!=null){
|
|
|
|
|
2014-01-24 16:01:15 +01:00
|
|
|
eventBus.fireEvent(new PasteItemEvent(CutCopyAndPaste.getCopiedIdsFilesModel(), parentTarget.getIdentifier(), CutCopyAndPaste.getOperationType()));
|
|
|
|
CutCopyAndPaste.setCopiedIdsFileModels(null);
|
|
|
|
CutCopyAndPaste.setOperationType(null);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
}
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(paste);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
MenuItem share = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
share.setId(WorkspaceOperation.SHARE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
share.setText("Share");
|
|
|
|
share.setIcon(Resources.getIconShareFolder());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
share.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-02-26 17:35:20 +01:00
|
|
|
FileModel sourceFileModel = listSelectedItems.get(0);
|
2013-02-12 16:02:00 +01:00
|
|
|
|
2014-02-26 17:35:20 +01:00
|
|
|
if (sourceFileModel != null) {
|
2016-07-04 10:42:03 +02:00
|
|
|
eventBus.fireEvent(new CreateSharedFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel(),false));
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(share);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
MenuItem unShare = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
unShare.setId(WorkspaceOperation.UNSHARE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
unShare.setText("UnShare");
|
|
|
|
unShare.setIcon(Resources.getIconUnShareUser());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
unShare.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
for (FileModel target : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
if(target.getIdentifier()!=null){
|
|
|
|
eventBus.fireEvent( new UnShareFolderEvent(target));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(unShare);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-25 11:14:26 +01:00
|
|
|
MenuItem rename = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
rename.setId(WorkspaceOperation.RENAME.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
rename.setText("Rename Item");
|
|
|
|
rename.setIcon(Resources.getIconRenameItem());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
rename.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel target : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
if(target.getIdentifier()!=null){
|
|
|
|
eventBus.fireEvent(new RenameItemEvent(target));
|
|
|
|
}
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(rename);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem remove = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
remove.setId(WorkspaceOperation.REMOVE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
remove.setText(ConstantsExplorer.MESSAGE_DELETE_ITEM);
|
|
|
|
remove.setIcon(Resources.getIconDeleteItem());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
remove.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
eventBus.fireEvent(new DeleteItemEvent(sel));
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(remove);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem show = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
show.setId(WorkspaceOperation.SHOW.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
show.setText(ConstantsExplorer.MESSAGE_SHOW);
|
|
|
|
show.setIcon(Resources.getIconShow());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
show.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (final FileModel sel : listSelectedItems) {
|
2017-02-20 14:57:07 +01:00
|
|
|
eventBus.fireEvent(new FileDownloadEvent(sel.getIdentifier(), sel.getName(), DownloadType.SHOW, sel.isDirectory() || sel.isVreFolder(), null));
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(show);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem viewWebDav = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
viewWebDav.setId(WorkspaceOperation.WEBDAV_URL.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
viewWebDav.setText(ConstantsExplorer.MESSAGE_WEBDAV_URL);
|
|
|
|
viewWebDav.setIcon(Resources.getIconUrlWebDav());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
viewWebDav.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
for (final FileModel sel : listSelectedItems)
|
|
|
|
eventBus.fireEvent(new WebDavUrlEvent(sel.getIdentifier()));
|
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(viewWebDav);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem sendTo = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
sendTo.setId(WorkspaceOperation.SENDTO.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
sendTo.setText(ConstantsExplorer.MESSAGE_SEND_TO);
|
|
|
|
sendTo.setIcon(Resources.getIconSendTo());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
sendTo.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
if(listSelectedItems!=null && listSelectedItems.size()>0)
|
|
|
|
eventBus.fireEvent(new SendMessageEvent(listSelectedItems));
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(sendTo);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem upload = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
upload.setId(WorkspaceOperation.UPLOAD_FILE.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
upload.setText(ConstantsExplorer.MESSAGE_UPLOAD_FILE);
|
|
|
|
upload.setIcon(Resources.getIconFileUpload());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
upload.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (final FileModel sel : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
FileModel parent = getDirectoryOrParent(sel);
|
2015-10-06 12:16:22 +02:00
|
|
|
eventBus.fireEvent(new FileUploadEvent(parent, WS_UPLOAD_TYPE.File));
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(upload);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem uploadArchive = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
uploadArchive.setId(WorkspaceOperation.UPLOAD_ARCHIVE.getId());
|
2014-05-12 14:29:29 +02:00
|
|
|
uploadArchive.setText(ConstantsExplorer.MESSAGE_UPLOAD_ARCHIVE);
|
2016-07-04 10:42:03 +02:00
|
|
|
uploadArchive.setToolTip("Upload a zip archive into workspace");
|
|
|
|
uploadArchive.setIcon(Resources.getIconArchiveUpload());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
uploadArchive.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
FileModel parent = getDirectoryOrParent(sel);
|
|
|
|
|
2015-10-06 12:16:22 +02:00
|
|
|
eventBus.fireEvent(new FileUploadEvent(parent, WS_UPLOAD_TYPE.Archive));
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(uploadArchive);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem downloadArchive = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
downloadArchive.setId(WorkspaceOperation.DOWNLOAD.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
downloadArchive.setText(ConstantsExplorer.MESSAGE_DOWNLOAD_ITEM);
|
|
|
|
downloadArchive.setIcon(Resources.getIconDownload());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
downloadArchive.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
2017-02-20 14:57:07 +01:00
|
|
|
eventBus.fireEvent(new FileDownloadEvent(sel.getIdentifier(), sel.getName(), DownloadType.DOWNLOAD, sel.isDirectory() || sel.isVreFolder(), null));
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(downloadArchive);
|
2013-03-25 11:14:26 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-03-17 14:43:06 +01:00
|
|
|
MenuItem changePermission = new MenuItem();
|
|
|
|
changePermission.setId(WorkspaceOperation.VRE_CHANGE_PERIMISSIONS.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
changePermission.setText("Change Permission");
|
|
|
|
changePermission.setIcon(Resources.getIconWriteAll());
|
2014-03-17 14:43:06 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
changePermission.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
for (FileModel target : listSelectedItems) {
|
2014-03-17 14:43:06 +01:00
|
|
|
if(target.getIdentifier()!=null){
|
2014-03-17 16:16:01 +01:00
|
|
|
eventBus.fireEvent(new VRESettingPermissionEvent(target));
|
2014-03-17 14:43:06 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
2014-03-17 14:43:06 +01:00
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(changePermission);
|
2014-03-17 14:43:06 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem addAdministrator = new MenuItem();
|
2016-06-27 16:27:48 +02:00
|
|
|
// addAdministrator.setId(WorkspaceOperation.ADD_ADMINISTRATOR.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
addAdministrator.setText("Manage Administrator/s");
|
|
|
|
addAdministrator.setIcon(Resources.getIconManageAdministrator());
|
2014-07-08 18:41:53 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
addAdministrator.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2014-07-08 18:41:53 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new AddAdministratorEvent(sel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
// contextMenu.add(addAdministrator);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
MenuItem refreshItem = new MenuItem();
|
2013-03-26 17:31:13 +01:00
|
|
|
refreshItem.setId(WorkspaceOperation.REFRESH_FOLDER.getId());
|
2016-07-04 10:42:03 +02:00
|
|
|
refreshItem.setText(ConstantsExplorer.MESSAGE_REFRESH_FOLDER);
|
|
|
|
refreshItem.setIcon(Resources.getIconRefresh());
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
refreshItem.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
|
|
public void componentSelected(MenuEvent ce) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
eventBus.fireEvent(new RefreshFolderEvent(sel, true, false, false));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.add(refreshItem);
|
2013-02-06 15:40:17 +01:00
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Clear list selected items.
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public void clearListSelectedItems() {
|
|
|
|
listSelectedItems.clear();
|
2016-07-04 10:42:03 +02:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Sets the hide sharing.
|
|
|
|
*/
|
2013-03-25 11:14:26 +01:00
|
|
|
public void setHideSharing() {
|
2016-07-04 10:42:03 +02:00
|
|
|
hideSharing = true;
|
2013-03-25 11:14:26 +01:00
|
|
|
}
|
|
|
|
|
2013-03-26 17:31:13 +01:00
|
|
|
/**
|
2015-11-17 17:14:48 +01:00
|
|
|
* Called from context menu on grid.
|
|
|
|
*
|
|
|
|
* @param targetFileModel the target file model
|
|
|
|
* @param posX the pos x
|
|
|
|
* @param posY the pos y
|
2013-03-26 17:31:13 +01:00
|
|
|
*/
|
2013-03-27 17:30:37 +01:00
|
|
|
public void openContextMenuOnItem(final FileModel targetFileModel, final int posX, final int posY) {
|
2013-02-06 15:40:17 +01:00
|
|
|
clearListSelectedItems();
|
|
|
|
listSelectedItems.add(0, targetFileModel);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2018-03-06 14:37:32 +01:00
|
|
|
//printSelected();
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
if(targetFileModel!=null){
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
if(targetFileModel.getParentFileModel()==null){
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
Info.display("Wait", "loading available operations..");
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
AppControllerExplorer.rpcWorkspaceService.getParentByItemId(targetFileModel.getIdentifier(), new AsyncCallback<FileModel>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFailure(Throwable caught) {
|
|
|
|
Info.display("Error", "sorry an error occurrend on loading available operations");
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSuccess(FileModel result) {
|
|
|
|
if(result!=null){
|
|
|
|
targetFileModel.setParentFileModel(result);
|
|
|
|
viewContextMenu(targetFileModel, posX, posY);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
Info.display("Error", "sorry an error occurrend on loading available operations");
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
});
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
}
|
|
|
|
else
|
|
|
|
viewContextMenu(targetFileModel, posX, posY);
|
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-27 17:30:37 +01:00
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* View context menu.
|
|
|
|
*
|
|
|
|
* @param targetFileModel the target file model
|
|
|
|
* @param posX the pos x
|
|
|
|
* @param posY the pos y
|
|
|
|
*/
|
2013-03-27 17:30:37 +01:00
|
|
|
private void viewContextMenu(FileModel targetFileModel, int posX, int posY){
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-27 17:30:37 +01:00
|
|
|
contextMenuSwitch(targetFileModel);
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_FOLDER.getId()).setVisible(false); //set invisible create folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //set invisible create shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.WEBDAV_URL.getId()).setVisible(false); //set invisible webdav url
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_FILE.getId()).setVisible(false); //set invisible upload file
|
2013-03-27 17:30:37 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()).setVisible(false); //set invisible upload archive
|
2018-03-06 14:37:32 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.ADD_URL.getId()).setVisible(false); //set invisible add url
|
2013-03-27 17:30:37 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(false); //set invisible refresh
|
|
|
|
contextMenu.showAt(posX, posY);
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Prints the selected.
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
private void printSelected(){
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
for (FileModel sel: listSelectedItems) {
|
2018-03-06 14:37:32 +01:00
|
|
|
GWT.log("selected " +sel.getName() );
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2013-06-28 18:42:10 +02:00
|
|
|
/**
|
2015-11-17 17:14:48 +01:00
|
|
|
* switch visible operation on context menu according to selected item.
|
|
|
|
*
|
|
|
|
* @param selectedItem the selected item
|
2013-06-28 18:42:10 +02:00
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public void contextMenuSwitch(FileModel selectedItem) {
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_FOLDER.getId()).setVisible(true); //insert folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(true); //insert shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_FILE.getId()).setVisible(true);
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()).setVisible(true);
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.ADD_URL.getId()).setVisible(true);
|
2013-06-28 18:42:10 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SENDTO.getId()).setVisible(true); //send to
|
2014-03-07 16:40:10 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.DOWNLOAD.getId()).setVisible(true); //DOWNLOAD
|
2017-03-03 17:41:47 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.COPY.getId()).setEnabled(true);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(false); //preview image
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(false); //open link
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(false); //show
|
2016-11-25 12:03:25 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT.getId()).setVisible(false); //open report
|
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId()).setVisible(false); //open report template
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(false); //paste
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(false); //refresh
|
2013-07-09 14:48:34 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLIC_LINK.getId()).setVisible(false); //public link
|
2016-09-14 12:17:14 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.FOLDER_LINK.getId()).setVisible(false); //folder link
|
2016-09-15 18:07:32 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.FOLDER_LINK_REMOVE.getId()).setVisible(false); //folder link remove
|
2016-06-27 16:27:48 +02:00
|
|
|
// contextMenu.getItemByItemId(WorkspaceOperation.ADD_ADMINISTRATOR.getId()).setVisible(false); //public link
|
2015-01-28 12:42:48 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.EDIT_PERMISSIONS.getId()).setVisible(false);
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE
|
2016-09-16 11:22:01 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(false); //publish on data catalogue
|
2017-09-27 18:38:30 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_THREDDS.getId()).setVisible(false); //publish on thredds
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-06-07 14:07:37 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE_LINK.getId()).setVisible(false); //SHARE
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-03-17 14:43:06 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VRE_CHANGE_PERIMISSIONS.getId()).setVisible(false); //VRE CHANGE PERMISSIONS
|
2013-02-06 15:40:17 +01:00
|
|
|
|
2017-02-20 18:03:49 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VERSIONING.getId()).setVisible(false);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2017-02-20 18:03:49 +01:00
|
|
|
if(selectedItem.isShared()){ //SHARE LINK ON SHARED ITEM
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE_LINK.getId()).setVisible(true);
|
2013-06-07 14:07:37 +02:00
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-03-05 17:45:33 +01:00
|
|
|
//IS VRE FOLDER or SPECIAL FOLDER?
|
|
|
|
if(selectedItem.isVreFolder() || selectedItem.isSpecialFolder()){
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-02-13 15:19:42 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //insert shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE
|
2014-03-06 15:31:04 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.RENAME.getId()).setVisible(false); //RENAME
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.REMOVE.getId()).setVisible(false); //REMOVE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(true); //REFRESH_FOLDER
|
2017-03-03 17:41:47 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.COPY.getId()).setEnabled(false);
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
//ADDED 14/03/2014
|
2014-03-17 14:43:06 +01:00
|
|
|
if(selectedItem.isVreFolder()){
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VRE_CHANGE_PERIMISSIONS.getId()).setVisible(true); //REFRESH_FOLDER
|
2017-03-03 17:41:47 +01:00
|
|
|
|
2014-03-17 14:43:06 +01:00
|
|
|
if(CutCopyAndPaste.getCopiedIdsFilesModel()!=null)
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(true); //enable paste button
|
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
|
|
|
// if(selectedItem.isVreFolder() && CutCopyAndPaste.getCopiedIdsFilesModel()!=null)
|
|
|
|
// contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(true); //enable paste button
|
2014-03-07 16:40:10 +01:00
|
|
|
else if(selectedItem.isSpecialFolder()){
|
2017-03-03 17:41:47 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.COPY.getId()).setEnabled(false);
|
2014-03-07 16:40:10 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(false);
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_FILE.getId()).setVisible(false);
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UPLOAD_ARCHIVE.getId()).setVisible(false);
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.ADD_URL.getId()).setVisible(false);
|
2014-03-07 16:40:10 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SENDTO.getId()).setVisible(false);
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_FOLDER.getId()).setVisible(false); //insert folder
|
2016-07-04 10:42:03 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.DOWNLOAD.getId()).setVisible(false);
|
2014-03-07 16:40:10 +01:00
|
|
|
}
|
2014-02-13 15:19:42 +01:00
|
|
|
return;
|
2014-02-13 16:12:37 +01:00
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2014-02-13 15:19:42 +01:00
|
|
|
//CASE DIRECTORY
|
2013-02-06 15:40:17 +01:00
|
|
|
if(selectedItem.isDirectory()){
|
2017-01-25 12:05:57 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(true);
|
2017-09-27 18:38:30 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_THREDDS.getId()).setVisible(true);
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(true); //SHARE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(false); //show
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.REFRESH_FOLDER.getId()).setVisible(true); //refresh
|
2013-06-28 18:42:10 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SENDTO.getId()).setVisible(false); //send to
|
2016-09-14 12:17:14 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.FOLDER_LINK.getId()).setVisible(true); //folder link
|
2013-06-07 14:07:37 +02:00
|
|
|
if(selectedItem.isShared()){//IS SHARED
|
2017-03-03 17:41:47 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.ADD_ADMINISTRATOR.getId()).setVisible(true); //add administrator
|
2013-06-07 14:07:37 +02:00
|
|
|
if(selectedItem.isShareable()){ //IS SHARABLE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //insert shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(true);
|
2015-01-28 12:42:48 +01:00
|
|
|
}else { //IS SUBFOLDER
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.EDIT_PERMISSIONS.getId()).setVisible(true);
|
2013-06-07 14:07:37 +02:00
|
|
|
}
|
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}else if(selectedItem.isRoot()){ //IS ROOT
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(true); //insert shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-09-15 18:07:32 +02:00
|
|
|
if(selectedItem.isPublic())
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.FOLDER_LINK_REMOVE.getId()).setVisible(true); //folder link
|
|
|
|
|
2013-03-25 11:14:26 +01:00
|
|
|
GWT.log("HideSharing = " + hideSharing);
|
|
|
|
//not supported in tree Reports
|
2016-07-04 10:42:03 +02:00
|
|
|
if (hideSharing) {
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHARE.getId()).setVisible(false); //SHARE
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.INSERT_SHARED_FOLDER.getId()).setVisible(false); //insert shared folder
|
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.UNSHARE.getId()).setVisible(false); //UNSHARE
|
2013-03-25 11:14:26 +01:00
|
|
|
}
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
|
|
|
else{
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.SHOW.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
switch(selectedItem.getGXTFolderItemType()){
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2016-07-04 10:42:03 +02:00
|
|
|
case EXTERNAL_IMAGE:
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(true);
|
2013-07-09 14:48:34 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLIC_LINK.getId()).setVisible(true); //public link
|
2017-02-20 18:03:49 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VERSIONING.getId()).setVisible(true);
|
2017-02-22 17:41:42 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case EXTERNAL_FILE:
|
2013-07-09 14:48:34 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLIC_LINK.getId()).setVisible(true); //public link
|
2017-02-20 18:03:49 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VERSIONING.getId()).setVisible(true);
|
2017-02-22 17:41:42 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case EXTERNAL_PDF_FILE:
|
2013-07-09 14:48:34 +02:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLIC_LINK.getId()).setVisible(true); //public link
|
2017-02-20 18:03:49 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.VERSIONING.getId()).setVisible(true);
|
2017-02-22 17:41:42 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case EXTERNAL_URL:
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(true);
|
2017-02-22 17:41:42 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PUBLISH_ON_DATA_CATALOGUE.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case REPORT_TEMPLATE:
|
2016-11-25 12:03:25 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT_TEMPLATE.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case REPORT:
|
2016-11-25 12:03:25 +01:00
|
|
|
//contextMenu.getItemByItemId(WorkspaceOperation.OPEN_REPORT.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case QUERY:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case TIME_SERIES:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
// case AQUAMAPS_ITEM:
|
2013-03-25 11:14:26 +01:00
|
|
|
// break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case PDF_DOCUMENT:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case IMAGE_DOCUMENT:
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PREVIEW.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case DOCUMENT:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case URL_DOCUMENT:
|
2013-03-26 17:31:13 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.LINK.getId()).setVisible(true);
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case METADATA:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case WORKFLOW_REPORT:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case WORKFLOW_TEMPLATE:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
2016-07-04 10:42:03 +02:00
|
|
|
case EXTERNAL_RESOURCE_LINK:
|
2013-03-25 11:14:26 +01:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
|
|
|
|
2014-01-24 16:01:15 +01:00
|
|
|
if(CutCopyAndPaste.getCopiedIdsFilesModel()!=null)
|
2014-01-23 17:20:38 +01:00
|
|
|
contextMenu.getItemByItemId(WorkspaceOperation.PASTE.getId()).setEnabled(true); //enable paste button
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
}
|
2016-06-27 16:27:48 +02:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
/**
|
2015-11-17 17:14:48 +01:00
|
|
|
* The method return input file model if is directory otherwise parent of file model.
|
|
|
|
*
|
|
|
|
* @param fileModel the file model
|
|
|
|
* @return the directory or parent
|
2013-02-06 15:40:17 +01:00
|
|
|
*/
|
|
|
|
private FileModel getDirectoryOrParent(FileModel fileModel){
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
if(fileModel!=null){
|
|
|
|
if(fileModel.isDirectory())
|
|
|
|
return fileModel;
|
|
|
|
else
|
|
|
|
return fileModel.getParentFileModel();
|
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2013-02-06 15:40:17 +01:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Gets the context menu.
|
|
|
|
*
|
|
|
|
* @return the context menu
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public Menu getContextMenu(){
|
|
|
|
return this.contextMenu;
|
|
|
|
}
|
2013-03-25 11:14:26 +01:00
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Sets the page position.
|
|
|
|
*
|
|
|
|
* @param x the x
|
|
|
|
* @param y the y
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public void setPagePosition(int x, int y){
|
|
|
|
this.contextMenu.setPagePosition(x, y);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Gets the list selected items.
|
|
|
|
*
|
|
|
|
* @return the list selected items
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public List<FileModel> getListSelectedItems() {
|
|
|
|
return listSelectedItems;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-11-17 17:14:48 +01:00
|
|
|
/**
|
|
|
|
* Sets the list selected items.
|
|
|
|
*
|
|
|
|
* @param listSelectedItems the new list selected items
|
|
|
|
*/
|
2013-02-06 15:40:17 +01:00
|
|
|
public void setListSelectedItems(List<FileModel> listSelectedItems) {
|
|
|
|
this.listSelectedItems.clear();
|
|
|
|
this.listSelectedItems = listSelectedItems;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|