2013-02-08 10:56:27 +01:00
|
|
|
package org.gcube.portlets.user.workspace.client.view.toolbars;
|
|
|
|
|
2014-01-15 12:50:21 +01:00
|
|
|
import java.util.List;
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.AppController;
|
|
|
|
import org.gcube.portlets.user.workspace.client.ConstantsPortlet;
|
|
|
|
import org.gcube.portlets.user.workspace.client.ConstantsPortlet.ViewSwitchTypeInResult;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.ActiveGroupingView;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.AddFolderEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.DeleteItemEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.DoubleClickElementSelectedEvent;
|
|
|
|
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;
|
2013-07-23 18:29:10 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent;
|
2013-06-07 14:47:10 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GetShareLinkEvent;
|
2013-09-09 17:37:49 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.GridRefreshEvent;
|
2013-02-08 10:56:27 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent;
|
2013-09-12 12:07:23 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.PasteItemEvent;
|
2013-02-08 10:56:27 +01:00
|
|
|
import org.gcube.portlets.user.workspace.client.event.RenameItemEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEvent;
|
|
|
|
import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum;
|
|
|
|
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
|
|
|
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
|
|
|
import org.gcube.portlets.user.workspace.client.resources.Resources;
|
|
|
|
import org.gcube.portlets.user.workspace.client.view.grids.GxtGridFilterGroupPanel;
|
2013-09-12 12:07:23 +02:00
|
|
|
import org.gcube.portlets.user.workspace.client.view.tree.CopyAndPaste;
|
2013-02-08 10:56:27 +01:00
|
|
|
|
|
|
|
import com.extjs.gxt.ui.client.Style.ButtonArrowAlign;
|
|
|
|
import com.extjs.gxt.ui.client.Style.ButtonScale;
|
|
|
|
import com.extjs.gxt.ui.client.Style.IconAlign;
|
|
|
|
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
|
|
|
import com.extjs.gxt.ui.client.event.SelectionListener;
|
|
|
|
import com.extjs.gxt.ui.client.widget.button.Button;
|
|
|
|
import com.extjs.gxt.ui.client.widget.button.ToggleButton;
|
|
|
|
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
|
|
|
|
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
|
|
|
*
|
|
|
|
*/
|
2013-05-23 19:03:22 +02:00
|
|
|
public class GxtToolBarItemFunctionality {
|
2013-02-08 10:56:27 +01:00
|
|
|
|
|
|
|
private Button btnAddFolder = null;
|
2013-09-06 15:23:38 +02:00
|
|
|
private Button btnRefreshFolder = null;
|
2013-02-08 10:56:27 +01:00
|
|
|
private Button btnRemoveItem = null;
|
|
|
|
private Button btnRenameItem = null;
|
|
|
|
private Button btnUploadFile = null;
|
|
|
|
private Button btnUploadArchive = null;
|
|
|
|
private Button btnDownloadFile = null;
|
|
|
|
private Button btnOpen = null;
|
|
|
|
private Button btnAccessFromDesktop = null;
|
|
|
|
private ToggleButton toggleGroup = new ToggleButton();
|
|
|
|
private ToggleButton toggleList = new ToggleButton();
|
|
|
|
private ToggleButton toggleIcon = new ToggleButton();
|
|
|
|
private GxtGridFilterGroupPanel gridGroupViewContainer;
|
|
|
|
|
|
|
|
private ToolBar toolBar = new ToolBar();
|
|
|
|
private Button btnPreview;
|
|
|
|
private ToggleButton btnGridView;
|
2013-06-07 14:47:10 +02:00
|
|
|
// private Button btnGetInfo;
|
|
|
|
private Button btnGetSharedLink;
|
2013-07-11 11:55:36 +02:00
|
|
|
private Button btnPublicLink;
|
2013-09-12 12:07:23 +02:00
|
|
|
private Button btnCopyItem;
|
|
|
|
private Button btnPasteItem;
|
2013-02-08 10:56:27 +01:00
|
|
|
|
2013-05-23 19:03:22 +02:00
|
|
|
public GxtToolBarItemFunctionality() {
|
2013-02-08 10:56:27 +01:00
|
|
|
initToolBar();
|
|
|
|
addSelectionListenersOnToolBar();
|
|
|
|
}
|
|
|
|
|
2013-05-23 19:03:22 +02:00
|
|
|
public GxtToolBarItemFunctionality(GxtGridFilterGroupPanel gridFilterGroupContainer) {
|
2013-02-08 10:56:27 +01:00
|
|
|
this();
|
|
|
|
this.gridGroupViewContainer = gridFilterGroupContainer;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void initToolBar() {
|
|
|
|
|
2013-09-06 15:23:38 +02:00
|
|
|
btnGridView = new ToggleButton(ConstantsPortlet.CATEGORIZE, Resources.getIconGridView());
|
2013-11-05 18:07:35 +01:00
|
|
|
btnGridView.setToolTip("Categorize");
|
2013-02-08 10:56:27 +01:00
|
|
|
btnGridView.setScale(ButtonScale.SMALL);
|
|
|
|
btnGridView.setIconAlign(IconAlign.TOP);
|
|
|
|
btnGridView.toggle(true);
|
|
|
|
btnGridView.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
toolBar.add(btnGridView);
|
|
|
|
|
|
|
|
toolBar.add(new SeparatorToolItem());
|
|
|
|
|
|
|
|
btnAddFolder = new Button(ConstantsPortlet.ADDFOLDER,Resources.getIconAddFolder());
|
|
|
|
btnAddFolder.setScale(ButtonScale.SMALL);
|
|
|
|
btnAddFolder.setIconAlign(IconAlign.TOP);
|
|
|
|
btnAddFolder.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnAddFolder);
|
2013-03-25 11:19:44 +01:00
|
|
|
|
|
|
|
btnUploadFile = new Button(ConstantsPortlet.UPLOADFILE,
|
|
|
|
Resources.getIconFileUpload());
|
|
|
|
btnUploadFile.setScale(ButtonScale.SMALL);
|
|
|
|
btnUploadFile.setIconAlign(IconAlign.TOP);
|
|
|
|
btnUploadFile.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnUploadFile);
|
2013-09-06 15:23:38 +02:00
|
|
|
|
2013-09-09 17:37:49 +02:00
|
|
|
btnRefreshFolder = new Button(ConstantsPortlet.REFRESH, Resources.getIconRefresh());
|
2013-09-06 15:23:38 +02:00
|
|
|
btnRefreshFolder.setScale(ButtonScale.SMALL);
|
|
|
|
btnRefreshFolder.setIconAlign(IconAlign.TOP);
|
|
|
|
btnRefreshFolder.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnRefreshFolder);
|
2013-03-25 11:19:44 +01:00
|
|
|
|
|
|
|
toolBar.add(new SeparatorToolItem());
|
2013-06-07 14:47:10 +02:00
|
|
|
// btnGetInfo = new Button("Info", Resources.getIconInfo());
|
|
|
|
// btnGetInfo.setScale(ButtonScale.SMALL);
|
|
|
|
// btnGetInfo.setIconAlign(IconAlign.TOP);
|
|
|
|
// btnGetInfo.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
//
|
|
|
|
// toolBar.add(btnGetInfo);
|
2013-02-08 10:56:27 +01:00
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
|
|
|
|
btnRemoveItem = new Button(ConstantsPortlet.REMOVEITEM,
|
|
|
|
Resources.getIconDeleteItem());
|
|
|
|
btnRemoveItem.setScale(ButtonScale.SMALL);
|
|
|
|
btnRemoveItem.setIconAlign(IconAlign.TOP);
|
|
|
|
btnRemoveItem.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnRemoveItem);
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
|
2013-09-12 12:07:23 +02:00
|
|
|
btnRenameItem = new Button(ConstantsPortlet.RENAMEITEM, Resources.getIconRenameItem());
|
2013-02-08 10:56:27 +01:00
|
|
|
btnRenameItem.setScale(ButtonScale.SMALL);
|
|
|
|
btnRenameItem.setIconAlign(IconAlign.TOP);
|
|
|
|
btnRenameItem.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
toolBar.add(btnRenameItem);
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//COPY
|
|
|
|
btnCopyItem = new Button("Copy", Resources.getIconRenameItem());
|
|
|
|
btnCopyItem.setScale(ButtonScale.SMALL);
|
|
|
|
btnCopyItem.setIconAlign(IconAlign.TOP);
|
|
|
|
btnCopyItem.setIcon(Resources.getIconCopy());
|
|
|
|
toolBar.add(btnCopyItem);
|
|
|
|
|
|
|
|
//PASTE
|
|
|
|
btnPasteItem = new Button("Paste", Resources.getIconRenameItem());
|
|
|
|
btnPasteItem.setScale(ButtonScale.SMALL);
|
|
|
|
btnPasteItem.setIconAlign(IconAlign.TOP);
|
|
|
|
btnPasteItem.setIcon(Resources.getIconPaste());
|
|
|
|
btnPasteItem.setEnabled(false); //BY DEFAULT IS DISABLED
|
|
|
|
|
|
|
|
toolBar.add(btnPasteItem);
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
btnDownloadFile = new Button(ConstantsPortlet.DOWNLOADITEM,Resources.getIconDownload());
|
|
|
|
btnDownloadFile.setScale(ButtonScale.SMALL);
|
|
|
|
btnDownloadFile.setIconAlign(IconAlign.TOP);
|
|
|
|
btnDownloadFile.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnDownloadFile);
|
|
|
|
|
|
|
|
btnPreview = new Button(ConstantsPortlet.PREVIEW ,Resources.getIconPreview());
|
|
|
|
btnPreview.setScale(ButtonScale.SMALL);
|
|
|
|
btnPreview.setIconAlign(IconAlign.TOP);
|
|
|
|
btnPreview.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
toolBar.add(btnPreview);
|
|
|
|
|
|
|
|
btnOpen = new Button(ConstantsPortlet.OPEN ,Resources.getIconShow());
|
|
|
|
btnOpen.setScale(ButtonScale.SMALL);
|
|
|
|
btnOpen.setIconAlign(IconAlign.TOP);
|
|
|
|
btnOpen.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
toolBar.add(btnOpen);
|
|
|
|
|
|
|
|
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
toolBar.add(new SeparatorToolItem());
|
|
|
|
|
2013-09-04 15:51:49 +02:00
|
|
|
btnGetSharedLink = new Button("Get Link", Resources.getIconShareLink());
|
2013-06-07 14:47:10 +02:00
|
|
|
btnGetSharedLink.setScale(ButtonScale.SMALL);
|
|
|
|
btnGetSharedLink.setIconAlign(IconAlign.TOP);
|
|
|
|
btnGetSharedLink.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnGetSharedLink);
|
|
|
|
|
2013-07-11 11:55:36 +02:00
|
|
|
btnPublicLink = new Button("Public Link", Resources.getIconPublicLink());
|
|
|
|
btnPublicLink.setScale(ButtonScale.SMALL);
|
|
|
|
btnPublicLink.setIconAlign(IconAlign.TOP);
|
|
|
|
btnPublicLink.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnPublicLink);
|
|
|
|
toolBar.add(new SeparatorToolItem());
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
btnAccessFromDesktop = new Button(ConstantsPortlet.TITLEACCESSWEBDAV, Resources.getIconWebDav());
|
|
|
|
btnAccessFromDesktop.setScale(ButtonScale.SMALL);
|
|
|
|
btnAccessFromDesktop.setIconAlign(IconAlign.TOP);
|
|
|
|
btnAccessFromDesktop.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnAccessFromDesktop);
|
2013-03-25 11:19:44 +01:00
|
|
|
toolBar.add(new SeparatorToolItem());
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
|
|
|
|
btnUploadArchive = new Button(ConstantsPortlet.UPLOADARCHIVE,
|
|
|
|
Resources.getIconArchiveUpload());
|
|
|
|
btnUploadArchive.setScale(ButtonScale.SMALL);
|
|
|
|
btnUploadArchive.setIconAlign(IconAlign.TOP);
|
|
|
|
btnUploadArchive.setArrowAlign(ButtonArrowAlign.BOTTOM);
|
|
|
|
|
|
|
|
toolBar.add(btnUploadArchive);
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
// toolBar.add(new SeparatorToolItem());
|
|
|
|
|
|
|
|
|
|
|
|
//TODO OLD CODE
|
|
|
|
toggleGroup = new ToggleButton();
|
|
|
|
toggleGroup.setIcon(Resources.getIconToggleGroup());
|
|
|
|
toggleGroup.setToggleGroup("viewgrid");
|
|
|
|
toggleGroup.toggle(true);
|
|
|
|
|
|
|
|
toggleIcon = new ToggleButton();
|
|
|
|
toggleIcon.setIcon(Resources.getIconToggleIcon());
|
|
|
|
toggleIcon.setToggleGroup("viewgrid");
|
|
|
|
|
|
|
|
toggleList = new ToggleButton();
|
|
|
|
toggleList.setIcon(Resources.getIconToggleList());
|
|
|
|
toggleList.setToggleGroup("viewgrid");
|
|
|
|
|
|
|
|
switchView(ViewSwitchTypeInResult.Group);
|
|
|
|
|
|
|
|
// toolBar.add(new FillToolItem());
|
|
|
|
|
2013-06-07 15:45:56 +02:00
|
|
|
this.activeButtonsOnSelectForOperation(null, false);
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public void toggleGridViewButton(boolean toogle){
|
|
|
|
btnGridView.toggle(toogle);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void addSelectionListenersOnToolBar() {
|
|
|
|
|
|
|
|
btnAddFolder.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(
|
|
|
|
new AddFolderEvent(gridGroupViewContainer
|
|
|
|
.getCurrentFolderView(), null));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnGridView.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new ActiveGroupingView(btnGridView.isPressed()));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnRemoveItem.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
|
2014-01-15 12:50:21 +01:00
|
|
|
List<String> listTarget = gridGroupViewContainer.getIdsSelectedItems();
|
|
|
|
if(listTarget!=null){
|
|
|
|
|
|
|
|
if(listTarget.size()>1){ //IS MULTI
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new DeleteItemEvent(listTarget));
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
AppController.getEventBus().fireEvent(new DeleteItemEvent(fileGridModel));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
});
|
2013-03-25 11:19:44 +01:00
|
|
|
|
2013-06-07 14:47:10 +02:00
|
|
|
|
|
|
|
btnGetSharedLink.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
2013-03-25 11:19:44 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
2013-06-07 14:47:10 +02:00
|
|
|
AppController.getEventBus().fireEvent(new GetShareLinkEvent(fileGridModel));
|
2013-03-25 11:19:44 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
});
|
2013-06-07 14:47:10 +02:00
|
|
|
|
2013-07-11 11:55:36 +02:00
|
|
|
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
btnCopyItem.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
if(fileGridModel.getIdentifier()!=null){
|
|
|
|
CopyAndPaste.copy(fileGridModel.getIdentifier());
|
|
|
|
btnPasteItem.setEnabled(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnPasteItem.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
FileModel parentTarget = getDirectoryOrParent(fileGridModel);
|
2013-09-12 14:53:00 +02:00
|
|
|
|
|
|
|
String parentId = null;
|
|
|
|
|
|
|
|
if(parentTarget!=null)
|
|
|
|
parentId=parentTarget.getIdentifier();
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new PasteItemEvent(CopyAndPaste.getCopiedfileModelId(), parentId));
|
|
|
|
CopyAndPaste.setCopiedfileModelId(null);
|
|
|
|
btnPasteItem.setEnabled(false);
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2013-09-09 17:37:49 +02:00
|
|
|
btnRefreshFolder.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new GridRefreshEvent());
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2013-07-11 11:55:36 +02:00
|
|
|
btnPublicLink.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new GetPublicLinkEvent(fileGridModel));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2013-06-07 14:47:10 +02:00
|
|
|
// btnGetInfo.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
//
|
|
|
|
// @Override
|
|
|
|
// public void componentSelected(ButtonEvent ce) {
|
|
|
|
//
|
|
|
|
// final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
//
|
|
|
|
// AppController.getEventBus().fireEvent(new GetInfoEvent(fileGridModel));
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
// });
|
2013-09-12 12:07:23 +02:00
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
btnRenameItem.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(
|
|
|
|
new RenameItemEvent(fileGridModel));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnUploadFile.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
2013-03-25 15:31:14 +01:00
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
if(fileGridModel!=null)
|
|
|
|
AppController.getEventBus().fireEvent(new FileUploadEvent(fileGridModel.getParentFileModel(), UploadType.FILE));
|
|
|
|
else
|
|
|
|
AppController.getEventBus().fireEvent(new FileUploadEvent(null, UploadType.FILE));
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnUploadArchive.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
2013-03-25 15:31:14 +01:00
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
if(fileGridModel!=null)
|
|
|
|
AppController.getEventBus().fireEvent(new FileUploadEvent(fileGridModel.getParentFileModel(), UploadType.ARCHIVE));
|
|
|
|
else
|
|
|
|
AppController.getEventBus().fireEvent(new FileUploadEvent(null, UploadType.ARCHIVE));
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnDownloadFile.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
2013-07-02 14:27:16 +02:00
|
|
|
AppController.getEventBus().fireEvent(new FileDownloadEvent(fileGridModel.getIdentifier(), fileGridModel.getName(), DownloadType.DOWNLOAD));
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnPreview.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new ImagePreviewEvent(fileGridModel, ce.getClientX(), ce.getClientY()+100));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnOpen.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem();
|
|
|
|
|
|
|
|
if(fileGridModel!=null){
|
|
|
|
if(fileGridModel.isDirectory())
|
|
|
|
AppController.getEventBus().fireEvent(new DoubleClickElementSelectedEvent(fileGridModel));
|
|
|
|
else if(fileGridModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.REPORT) || fileGridModel.getGXTFolderItemType().equals(GXTFolderItemTypeEnum.REPORT_TEMPLATE))
|
|
|
|
AppController.getEventBus().fireEvent(new OpenReportsEvent(fileGridModel));
|
|
|
|
else
|
|
|
|
AppController.getEventBus().fireEvent(new FileDownloadEvent(fileGridModel.getIdentifier(), fileGridModel.getName(), DownloadType.SHOW));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
btnAccessFromDesktop.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
|
|
|
|
AppController.getEventBus().fireEvent(new WebDavUrlEvent(null));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
toggleGroup.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
if (toggleGroup.isPressed()) {
|
|
|
|
switchView(ViewSwitchTypeInResult.Group);
|
|
|
|
|
|
|
|
}
|
|
|
|
// Window.alert("ViewSwitchTypeInResult.Group");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
toggleList.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
if (toggleList.isPressed()) {
|
|
|
|
switchView(ViewSwitchTypeInResult.List);
|
|
|
|
|
|
|
|
}
|
|
|
|
// Window.alert("ViewSwitchTypeInResult.List");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
toggleIcon.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
|
|
|
@Override
|
|
|
|
public void componentSelected(ButtonEvent ce) {
|
|
|
|
if (toggleIcon.isPressed()) {
|
|
|
|
switchView(ViewSwitchTypeInResult.Icons);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
private void switchView(ViewSwitchTypeInResult type) {
|
|
|
|
|
|
|
|
// if (type.compareTo(ViewSwitchTypeInResult.Icons) == 0) {
|
|
|
|
// this.gridFilterViewContainer.setVisible(false);
|
|
|
|
// this.gridGroupViewContainer.setVisible(false);
|
|
|
|
// this.iconsViewContainer.setVisible(true);
|
|
|
|
//
|
|
|
|
// } else{
|
|
|
|
// if (type.compareTo(ViewSwitchTypeInResult.List) == 0) {
|
|
|
|
//
|
|
|
|
// this.iconsViewContainer.setVisible(false);
|
|
|
|
// this.gridGroupViewContainer.setVisible(false);
|
|
|
|
// this.gridFilterViewContainer.setVisible(true);
|
|
|
|
// }
|
|
|
|
// else{
|
|
|
|
// this.iconsViewContainer.setVisible(false);
|
|
|
|
// this.gridFilterViewContainer.setVisible(false);
|
|
|
|
// this.gridGroupViewContainer.setVisible(true);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
}
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The method return input file model if is directory otherwise parent of file model
|
|
|
|
* @param fileModel
|
|
|
|
* @return
|
|
|
|
*/
|
2013-09-12 14:53:00 +02:00
|
|
|
private FileModel getDirectoryOrParent(FileGridModel fileModel){
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
if(fileModel!=null){
|
|
|
|
if(fileModel.isDirectory())
|
|
|
|
return fileModel;
|
|
|
|
else
|
|
|
|
return fileModel.getParentFileModel();
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
2013-02-08 10:56:27 +01:00
|
|
|
|
2013-06-07 15:45:56 +02:00
|
|
|
public void activeButtonsOnSelectForOperation(FileModel target, boolean active) {
|
2013-02-08 10:56:27 +01:00
|
|
|
|
|
|
|
this.btnPreview.disable();
|
2013-07-11 11:55:36 +02:00
|
|
|
this.btnPublicLink.disable();
|
2013-12-13 16:26:34 +01:00
|
|
|
this.btnGetSharedLink.disable();
|
2013-02-08 10:56:27 +01:00
|
|
|
this.btnOpen.enable();
|
|
|
|
|
|
|
|
if(target!=null){
|
|
|
|
|
|
|
|
if(active & target.getGXTFolderItemType()!=null){
|
|
|
|
|
|
|
|
switch(target.getGXTFolderItemType()){
|
|
|
|
|
|
|
|
case EXTERNAL_IMAGE:
|
|
|
|
// contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true);
|
|
|
|
this.btnPreview.enable();
|
2013-07-11 11:55:36 +02:00
|
|
|
this.btnPublicLink.enable();
|
2013-02-08 10:56:27 +01:00
|
|
|
break;
|
2013-07-11 11:55:36 +02:00
|
|
|
case EXTERNAL_FILE:
|
|
|
|
this.btnPublicLink.enable();
|
2013-02-08 10:56:27 +01:00
|
|
|
break;
|
|
|
|
case EXTERNAL_PDF_FILE:
|
2013-07-11 11:55:36 +02:00
|
|
|
this.btnPublicLink.enable();
|
2013-02-08 10:56:27 +01:00
|
|
|
break;
|
|
|
|
case EXTERNAL_URL:
|
|
|
|
// contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true);
|
|
|
|
break;
|
|
|
|
case REPORT_TEMPLATE:
|
|
|
|
// contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(true);
|
|
|
|
break;
|
|
|
|
case REPORT:
|
|
|
|
break;
|
|
|
|
case QUERY:
|
|
|
|
break;
|
|
|
|
case TIME_SERIES:
|
|
|
|
break;
|
|
|
|
case PDF_DOCUMENT:
|
|
|
|
break;
|
|
|
|
case IMAGE_DOCUMENT:
|
|
|
|
this.btnPreview.enable();
|
|
|
|
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;
|
|
|
|
default:
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
2013-06-07 15:45:56 +02:00
|
|
|
|
|
|
|
//HANDLER SharedLink
|
|
|
|
if(target.isShared())
|
|
|
|
activeButtonForSharing(active);
|
|
|
|
else
|
|
|
|
activeButtonForSharing(false);
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
activeButtons(active);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void activeButtons(boolean active){
|
|
|
|
|
|
|
|
if (!active) {
|
|
|
|
this.btnRemoveItem.disable();
|
|
|
|
this.btnRenameItem.disable();
|
|
|
|
this.btnDownloadFile.disable();
|
|
|
|
this.btnOpen.disable();
|
2013-09-12 12:07:23 +02:00
|
|
|
this.btnCopyItem.disable();
|
2013-06-07 14:47:10 +02:00
|
|
|
// this.btnGetInfo.disable();
|
2013-07-11 11:55:36 +02:00
|
|
|
// this.btnGetSharedLink.disable();
|
2013-02-08 10:56:27 +01:00
|
|
|
} else {
|
|
|
|
this.btnRemoveItem.enable();
|
|
|
|
this.btnRenameItem.enable();
|
|
|
|
this.btnDownloadFile.enable();
|
|
|
|
this.btnOpen.enable();
|
2013-09-12 12:07:23 +02:00
|
|
|
this.btnCopyItem.enable();
|
2013-06-07 14:47:10 +02:00
|
|
|
// this.btnGetInfo.enable();
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2013-06-07 15:45:56 +02:00
|
|
|
public void activeButtonForSharing(boolean active){
|
|
|
|
|
|
|
|
this.btnGetSharedLink.setEnabled(active);
|
|
|
|
}
|
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
public void activeAllButtonWithoutGroupView(boolean active){
|
|
|
|
|
|
|
|
btnRemoveItem.setEnabled(active);
|
|
|
|
btnRenameItem.setEnabled(active);
|
2013-06-07 15:45:56 +02:00
|
|
|
btnGetSharedLink.setEnabled(active);
|
2013-06-07 14:47:10 +02:00
|
|
|
// btnGetInfo.setEnabled(active);
|
2013-02-08 10:56:27 +01:00
|
|
|
btnDownloadFile.setEnabled(active);
|
|
|
|
btnPreview.setEnabled(active);
|
|
|
|
btnOpen.setEnabled(active);
|
2013-07-11 11:55:36 +02:00
|
|
|
btnPublicLink.setEnabled(active);
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|
2014-01-15 12:50:21 +01:00
|
|
|
|
|
|
|
public void activeButtonForMultiSelection(boolean active){
|
|
|
|
this.btnRemoveItem.setEnabled(active);
|
|
|
|
this.btnRenameItem.setEnabled(!active);
|
|
|
|
this.btnDownloadFile.setEnabled(!active);
|
|
|
|
this.btnOpen.setEnabled(!active);
|
|
|
|
this.btnCopyItem.setEnabled(!active);
|
|
|
|
this.btnGetSharedLink.setEnabled(!active);
|
|
|
|
}
|
2013-02-08 10:56:27 +01:00
|
|
|
|
|
|
|
public ToolBar getToolBar() {
|
|
|
|
return this.toolBar;
|
|
|
|
}
|
|
|
|
|
2013-09-09 17:37:49 +02:00
|
|
|
/**
|
|
|
|
* @param b
|
|
|
|
*/
|
|
|
|
public void activeButtonsOnSearch(boolean b) {
|
|
|
|
btnRefreshFolder.setEnabled(!b);
|
|
|
|
}
|
2013-09-12 12:07:23 +02:00
|
|
|
|
|
|
|
public void activePasteButton(boolean b){
|
|
|
|
btnPasteItem.setEnabled(b);
|
|
|
|
}
|
2013-09-09 17:37:49 +02:00
|
|
|
|
2013-02-08 10:56:27 +01:00
|
|
|
}
|