730 lines
25 KiB
Java
730 lines
25 KiB
Java
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;
|
|
import org.gcube.portlets.user.workspace.client.event.AddFolderEvent;
|
|
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;
|
|
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;
|
|
import org.gcube.portlets.user.workspace.client.event.FileUploadEvent.UploadType;
|
|
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.OpenUrlEvent;
|
|
import org.gcube.portlets.user.workspace.client.event.PasteItemEvent;
|
|
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;
|
|
import org.gcube.portlets.user.workspace.client.event.UnShareFolderEvent;
|
|
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;
|
|
|
|
import com.extjs.gxt.ui.client.event.MenuEvent;
|
|
import com.extjs.gxt.ui.client.event.SelectionListener;
|
|
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;
|
|
import com.google.gwt.event.shared.HandlerManager;
|
|
|
|
public class ContextMenuTree {
|
|
|
|
private Menu contextMenu = new Menu();
|
|
// private TreePanel<FileModel> treePanel = null;
|
|
private HandlerManager eventBus = AppControllerExplorer.getEventBus();
|
|
private List<FileModel> listSelectedItems = null;
|
|
|
|
|
|
public ContextMenuTree() {
|
|
|
|
//Context Menu
|
|
// Menu contextMenu = new Menu();
|
|
this.contextMenu.setWidth(140);
|
|
// this.treePanel = treePanel;
|
|
this.listSelectedItems = new ArrayList<FileModel>();
|
|
createContextMenu();
|
|
// return contextMenu;
|
|
}
|
|
|
|
|
|
private void createContextMenu() {
|
|
//SPECIFIC OPERATION
|
|
|
|
//Preview Image
|
|
MenuItem previewImage = new MenuItem();
|
|
previewImage.setId(ConstantsExplorer.PRW);
|
|
previewImage.setText(ConstantsExplorer.MESSAGE_PREVIEW);
|
|
previewImage.setIcon(Resources.getIconPreview());
|
|
|
|
previewImage.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// FileModel selected = treePanel.getSelectionModel().getSelectedItem();
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
if(selected!=null){
|
|
eventBus.fireEvent(new ImagePreviewEvent(selected, ce.getClientX(), ce.getClientY()));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(previewImage);
|
|
|
|
//Open Url
|
|
MenuItem openUrl = new MenuItem();
|
|
openUrl.setId(ConstantsExplorer.LNK);
|
|
openUrl.setText(ConstantsExplorer.MESSAGE_OPEN_URL);
|
|
openUrl.setIcon(Resources.getIconOpenUrl());
|
|
|
|
openUrl.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// FileModel selected = treePanel.getSelectionModel().getSelectedItem();
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
// if(selected!=null)
|
|
// eventBus.fireEvent(new ImagePreviewEvent(selected, ce.getClientX(), ce.getClientY()));
|
|
|
|
if(selected!=null){
|
|
eventBus.fireEvent(new OpenUrlEvent(selected));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(openUrl);
|
|
// contextMenu.add(new SeparatorMenuItem());
|
|
|
|
|
|
//Open Report Template
|
|
MenuItem openReportTemplate = new MenuItem();
|
|
openReportTemplate.setId(ConstantsExplorer.ORT);
|
|
openReportTemplate.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT_TEMPLATE);
|
|
openReportTemplate.setIcon(Resources.getIconOpenUrl());
|
|
|
|
openReportTemplate.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
if(selected!=null){
|
|
eventBus.fireEvent(new OpenReportsEvent(selected));
|
|
}
|
|
}
|
|
});
|
|
|
|
contextMenu.add(openReportTemplate);
|
|
// contextMenu.add(new SeparatorMenuItem());
|
|
|
|
|
|
//Open Report Template
|
|
MenuItem openReport = new MenuItem();
|
|
openReport.setId(ConstantsExplorer.ORP);
|
|
openReport.setText(ConstantsExplorer.MESSAGE_OPEN_REPORT);
|
|
openReport.setIcon(Resources.getIconOpenUrl());
|
|
|
|
openReport.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// FileModel selected =
|
|
// treePanel.getSelectionModel().getSelectedItem();
|
|
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
// if(selected!=null)
|
|
// eventBus.fireEvent(new ImagePreviewEvent(selected,
|
|
// ce.getClientX(), ce.getClientY()));
|
|
if (selected != null){
|
|
eventBus.fireEvent(new OpenReportsEvent(selected));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(openReport);
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
//END SPECIFIC OPERATION
|
|
|
|
|
|
MenuItem insertFolder = new MenuItem();
|
|
insertFolder.setId(ConstantsExplorer.INS);
|
|
insertFolder.setText(ConstantsExplorer.MESSAGE_ADD_FOLDER);
|
|
insertFolder.setIcon(Resources.getIconAddFolder());
|
|
|
|
|
|
insertFolder.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// final FileModel sourceFileModel = treePanel.getSelectionModel().getSelectedItem();
|
|
|
|
final FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
if (sourceFileModel != null) {
|
|
|
|
// final FolderModel parentFileModel = (FolderModel) treePanel.getStore().getParent(sourceFileModel); // TODO parent of item
|
|
|
|
eventBus.fireEvent(new AddFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel()));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(insertFolder);
|
|
|
|
|
|
MenuItem createShareFolder = new MenuItem();
|
|
createShareFolder.setId(ConstantsExplorer.ISHF);
|
|
createShareFolder.setText(ConstantsExplorer.MESSAGE_ADD_SHARED_FOLDER);
|
|
createShareFolder.setIcon(Resources.getIconSharedFolder());
|
|
|
|
createShareFolder.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
final FileModel sourceFileModel = listSelectedItems.get(0);
|
|
|
|
if (sourceFileModel != null) {
|
|
eventBus.fireEvent( new CreateSharedFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel(), true));
|
|
}
|
|
}
|
|
});
|
|
|
|
contextMenu.add(createShareFolder);
|
|
// contextMenu.add(new SeparatorMenuItem());
|
|
|
|
|
|
//Add Url
|
|
MenuItem addUrl = new MenuItem();
|
|
addUrl.setId(ConstantsExplorer.CLK);
|
|
addUrl.setText(ConstantsExplorer.MESSAGE_ADD_URL);
|
|
addUrl.setIcon(Resources.getIconAddUrl());
|
|
|
|
addUrl.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// FileModel selected = treePanel.getSelectionModel().getSelectedItem();
|
|
FileModel selected = listSelectedItems.get(0);
|
|
|
|
FileModel parent = getDirectoryOrParent(selected);
|
|
|
|
if(parent!=null){
|
|
eventBus.fireEvent(new CreateUrlEvent(null, parent));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(addUrl);
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
MenuItem copy = new MenuItem();
|
|
copy.setId(ConstantsExplorer.CPI);
|
|
copy.setText(ConstantsExplorer.COPYITEM);
|
|
copy.setIcon(Resources.getIconCopy());
|
|
|
|
copy.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
for (FileModel target : listSelectedItems) {
|
|
if(target.getIdentifier()!=null){
|
|
CopyAndPaste.copy(target.getIdentifier());
|
|
}
|
|
}
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(copy);
|
|
|
|
MenuItem paste = new MenuItem();
|
|
paste.setId(ConstantsExplorer.PSI);
|
|
paste.setText(ConstantsExplorer.PASTEITEM);
|
|
paste.setIcon(Resources.getIconPaste());
|
|
|
|
paste.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
for (FileModel target : listSelectedItems) {
|
|
FileModel parentTarget = getDirectoryOrParent(target);
|
|
if(parentTarget!=null){
|
|
|
|
// FileModel source = treePanel.getStore().findModel(ConstantsExplorer.IDENTIFIER, CopyAndPaste.getCopiedfileModelId());
|
|
//// FileModel parentSource = source.getParentFileModel();
|
|
|
|
|
|
// if(parentSource.getIdentifier() != parentTarget.getIdentifier()){
|
|
|
|
eventBus.fireEvent(new PasteItemEvent(CopyAndPaste.getCopiedfileModelId(), parentTarget.getIdentifier()));
|
|
CopyAndPaste.setCopiedfileModelId(null);
|
|
|
|
// }
|
|
// else
|
|
// new MessageBoxAlert("Error", "desti", null);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(paste);
|
|
|
|
MenuItem share = new MenuItem();
|
|
share.setId(ConstantsExplorer.SHR);
|
|
share.setText("Share");
|
|
share.setIcon(Resources.getIconShareFolder());
|
|
|
|
share.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
for (FileModel target : listSelectedItems) {
|
|
if(target.getIdentifier()!=null){
|
|
eventBus.fireEvent(new CreateSharedFolderEvent(target, target.getParentFileModel(),false));
|
|
}
|
|
}
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(share);
|
|
|
|
MenuItem unShare = new MenuItem();
|
|
unShare.setId(ConstantsExplorer.USHR);
|
|
unShare.setText("UnShare");
|
|
unShare.setIcon(Resources.getIconUnShareUser());
|
|
|
|
unShare.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
for (FileModel target : listSelectedItems) {
|
|
if(target.getIdentifier()!=null){
|
|
eventBus.fireEvent( new UnShareFolderEvent(target));
|
|
|
|
}
|
|
}
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(unShare);
|
|
|
|
|
|
MenuItem rename = new MenuItem();
|
|
rename.setId(ConstantsExplorer.RNM);
|
|
rename.setText("Rename Item");
|
|
rename.setIcon(Resources.getIconRenameItem());
|
|
|
|
rename.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
for (FileModel target : listSelectedItems) {
|
|
if(target.getIdentifier()!=null){
|
|
eventBus.fireEvent(new RenameItemEvent(target));
|
|
// //clearListSelectedItems();
|
|
|
|
}
|
|
}
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
contextMenu.add(rename);
|
|
|
|
MenuItem remove = new MenuItem();
|
|
remove.setId(ConstantsExplorer.REM);
|
|
remove.setText(ConstantsExplorer.MESSAGE_DELETE_ITEM);
|
|
remove.setIcon(Resources.getIconDeleteItem());
|
|
|
|
remove.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
eventBus.fireEvent(new DeleteItemEvent(sel));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(remove);
|
|
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
MenuItem show = new MenuItem();
|
|
show.setId(ConstantsExplorer.SHW);
|
|
show.setText(ConstantsExplorer.MESSAGE_SHOW);
|
|
show.setIcon(Resources.getIconShow());
|
|
|
|
show.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (final FileModel sel : listSelectedItems) {
|
|
eventBus.fireEvent(new FileDownloadEvent(sel.getIdentifier(), sel.getName(), DownloadType.SHOW));
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
contextMenu.add(show);
|
|
|
|
|
|
|
|
MenuItem viewWebDav = new MenuItem();
|
|
viewWebDav.setId(ConstantsExplorer.WDV);
|
|
viewWebDav.setText(ConstantsExplorer.MESSAGE_WEBDAV_URL);
|
|
viewWebDav.setIcon(Resources.getIconUrlWebDav());
|
|
|
|
viewWebDav.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (final FileModel sel : listSelectedItems)
|
|
eventBus.fireEvent(new WebDavUrlEvent(sel.getIdentifier()));
|
|
|
|
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
|
|
contextMenu.add(viewWebDav);
|
|
|
|
|
|
MenuItem sendTo = new MenuItem();
|
|
sendTo.setId(ConstantsExplorer.SDT);
|
|
sendTo.setText(ConstantsExplorer.MESSAGE_SEND_TO);
|
|
sendTo.setIcon(Resources.getIconSendTo());
|
|
|
|
sendTo.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
if(listSelectedItems!=null && listSelectedItems.size()>0)
|
|
eventBus.fireEvent(new SendMessageEvent(listSelectedItems));
|
|
|
|
|
|
//clearListSelectedItems();
|
|
|
|
}
|
|
});
|
|
|
|
|
|
contextMenu.add(sendTo);
|
|
|
|
|
|
|
|
MenuItem upload = new MenuItem();
|
|
upload.setId(ConstantsExplorer.UPL);
|
|
upload.setText(ConstantsExplorer.MESSAGE_UPLOAD_FILE);
|
|
upload.setIcon(Resources.getIconFileUpload());
|
|
|
|
upload.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (final FileModel sel : listSelectedItems) {
|
|
|
|
FileModel parent = getDirectoryOrParent(sel);
|
|
|
|
// if(sel.isDirectory())
|
|
// parent = sel;
|
|
// else
|
|
// parent = sel.getParentFileModel();
|
|
|
|
eventBus.fireEvent(new FileUploadEvent(parent, UploadType.FILE));
|
|
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
|
|
contextMenu.add(upload);
|
|
|
|
|
|
MenuItem uploadArchive = new MenuItem();
|
|
uploadArchive.setId(ConstantsExplorer.UPA);
|
|
uploadArchive.setText(ConstantsExplorer.MESSAGE_UPLOAD_ARCHIVE);
|
|
uploadArchive.setIcon(Resources.getIconArchiveUpload());
|
|
|
|
uploadArchive.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
FileModel parent = getDirectoryOrParent(sel);
|
|
|
|
// if(sel.isDirectory())
|
|
// parent = sel;
|
|
// else
|
|
// parent = sel.getParentFileModel();
|
|
|
|
eventBus.fireEvent(new FileUploadEvent(parent, UploadType.ARCHIVE));
|
|
|
|
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(uploadArchive);
|
|
|
|
|
|
MenuItem downloadArchive = new MenuItem();
|
|
downloadArchive.setId(ConstantsExplorer.DWL);
|
|
downloadArchive.setText(ConstantsExplorer.MESSAGE_DOWNLOAD_ITEM);
|
|
downloadArchive.setIcon(Resources.getIconDownload());
|
|
|
|
downloadArchive.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
|
|
// FolderModel parent = null;
|
|
//
|
|
// if(sel.isDirectory())
|
|
// parent = (FolderModel) sel;
|
|
// else
|
|
// parent = (FolderModel) store.getParent(sel);
|
|
|
|
// Window.alert("Upload nella seguente directory: " + parent.getName());
|
|
|
|
eventBus.fireEvent(new FileDownloadEvent(sel.getIdentifier(), sel.getName(), DownloadType.DOWNLOAD));
|
|
|
|
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(downloadArchive);
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
|
|
MenuItem refreshItem = new MenuItem();
|
|
refreshItem.setId(ConstantsExplorer.RFH);
|
|
refreshItem.setText(ConstantsExplorer.MESSAGE_REFRESH_FOLDER);
|
|
refreshItem.setIcon(Resources.getIconRefresh());
|
|
|
|
refreshItem.addSelectionListener(new SelectionListener<MenuEvent>() {
|
|
public void componentSelected(MenuEvent ce) {
|
|
|
|
// List<FileModel> selected = treePanel.getSelectionModel().getSelectedItems();
|
|
|
|
for (FileModel sel : listSelectedItems) {
|
|
eventBus.fireEvent(new RefreshFolderEvent(sel));
|
|
}
|
|
|
|
//clearListSelectedItems();
|
|
}
|
|
});
|
|
|
|
contextMenu.add(refreshItem);
|
|
contextMenu.add(new SeparatorMenuItem());
|
|
|
|
}
|
|
|
|
public void clearListSelectedItems() {
|
|
listSelectedItems.clear();
|
|
}
|
|
|
|
|
|
public void openContextMenuOnItem(FileModel targetFileModel, int posX, int posY) {
|
|
// this.contextMenuPosX = posX;
|
|
// this.contextMenuPosY = posY;
|
|
clearListSelectedItems();
|
|
listSelectedItems.add(0, targetFileModel);
|
|
|
|
printSelected();
|
|
|
|
|
|
if(targetFileModel!=null){
|
|
contextMenuSwitch(targetFileModel);
|
|
contextMenu.getItemByItemId(ConstantsExplorer.INS).setVisible(false); //set invisible create folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //set invisible create shared folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.WDV).setVisible(false); //set invisible webdav url
|
|
contextMenu.getItemByItemId(ConstantsExplorer.UPL).setVisible(false); //set invisible upload file
|
|
contextMenu.getItemByItemId(ConstantsExplorer.UPA).setVisible(false); //set invisible upload archive
|
|
contextMenu.getItemByItemId(ConstantsExplorer.CLK).setVisible(false); //set invisible add url
|
|
contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(false); //set invisible refresh
|
|
// contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //set invisible share
|
|
// contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //set invisible unshare
|
|
contextMenu.showAt(posX, posY);
|
|
}
|
|
// treePanel.fireEvent(Events.ContextMenu);
|
|
}
|
|
|
|
|
|
private void printSelected(){
|
|
|
|
for (FileModel sel: listSelectedItems) {
|
|
System.out.println("selected " +sel.getName() );
|
|
}
|
|
}
|
|
|
|
|
|
public void contextMenuSwitch(FileModel selectedItem) {
|
|
|
|
contextMenu.getItemByItemId(ConstantsExplorer.INS).setVisible(true); //insert folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(true); //insert shared folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.UPL).setVisible(true);
|
|
contextMenu.getItemByItemId(ConstantsExplorer.UPA).setVisible(true);
|
|
contextMenu.getItemByItemId(ConstantsExplorer.CLK).setVisible(true);
|
|
|
|
|
|
contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(false); //preview image
|
|
contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(false); //open link
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(false); //show
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ORP).setVisible(false); //open report
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(false); //open report template
|
|
contextMenu.getItemByItemId(ConstantsExplorer.PSI).setEnabled(false); //paste
|
|
contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(false); //refresh
|
|
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE
|
|
contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE
|
|
|
|
|
|
if(selectedItem.isDirectory()){
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(true); //SHARE
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(false); //show
|
|
contextMenu.getItemByItemId(ConstantsExplorer.RFH).setVisible(true); //refresh
|
|
if(selectedItem.isShared()){ //IS SHARED
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //insert shared folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(true);
|
|
}else if(selectedItem.isRoot()){ //IS ROOT
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHR).setVisible(false); //SHARE
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ISHF).setVisible(false); //insert shared folder
|
|
contextMenu.getItemByItemId(ConstantsExplorer.USHR).setVisible(false); //UNSHARE
|
|
}
|
|
}
|
|
else{
|
|
contextMenu.getItemByItemId(ConstantsExplorer.SHW).setVisible(true);
|
|
|
|
switch(selectedItem.getGXTFolderItemType()){
|
|
|
|
case EXTERNAL_IMAGE:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true);
|
|
break;
|
|
case EXTERNAL_FILE:
|
|
break;
|
|
case EXTERNAL_PDF_FILE:
|
|
break;
|
|
case EXTERNAL_URL:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true);
|
|
break;
|
|
case REPORT_TEMPLATE:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(true);
|
|
break;
|
|
case REPORT:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.ORP).setVisible(true);
|
|
break;
|
|
case QUERY:
|
|
break;
|
|
case TIME_SERIES:
|
|
break;
|
|
// case AQUAMAPS_ITEM:
|
|
// break;
|
|
case PDF_DOCUMENT:
|
|
break;
|
|
case IMAGE_DOCUMENT:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true);
|
|
break;
|
|
case DOCUMENT:
|
|
break;
|
|
case URL_DOCUMENT:
|
|
contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true);
|
|
break;
|
|
case METADATA:
|
|
break;
|
|
case WORKFLOW_REPORT:
|
|
break;
|
|
case WORKFLOW_TEMPLATE:
|
|
break;
|
|
case EXTERNAL_RESOURCE_LINK:
|
|
break;
|
|
default:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
if(CopyAndPaste.getCopiedfileModelId()!=null)
|
|
contextMenu.getItemByItemId(ConstantsExplorer.PSI).setEnabled(true); //paste
|
|
|
|
}
|
|
/**
|
|
* The method return input file model if is directory otherwise parent of file model
|
|
* @param fileModel
|
|
* @return
|
|
*/
|
|
private FileModel getDirectoryOrParent(FileModel fileModel){
|
|
|
|
if(fileModel!=null){
|
|
if(fileModel.isDirectory())
|
|
return fileModel;
|
|
else
|
|
return fileModel.getParentFileModel();
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
|
|
public Menu getContextMenu(){
|
|
return this.contextMenu;
|
|
}
|
|
|
|
public void setPagePosition(int x, int y){
|
|
this.contextMenu.setPagePosition(x, y);
|
|
}
|
|
|
|
|
|
public List<FileModel> getListSelectedItems() {
|
|
return listSelectedItems;
|
|
}
|
|
|
|
|
|
public void setListSelectedItems(List<FileModel> listSelectedItems) {
|
|
this.listSelectedItems.clear();
|
|
this.listSelectedItems = listSelectedItems;
|
|
}
|
|
|
|
}
|