From 9e80f7d2df02df3243e2ff037fc812cdf183a9f2 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 11 Jul 2013 09:55:36 +0000 Subject: [PATCH] public links, completed git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@78960 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/client/AppController.java | 15 +++++++- .../view/grids/GxtGridFilterGroupPanel.java | 2 +- .../toolbars/GxtToolBarItemFunctionality.java | 37 ++++++++++++++++++- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java index 2ad89be..c1019e6 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java @@ -30,6 +30,8 @@ import org.gcube.portlets.user.workspace.client.event.FileUploadEventHandler; import org.gcube.portlets.user.workspace.client.event.FilterScopeEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEventHandler; +import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent; +import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEventHandler; import org.gcube.portlets.user.workspace.client.event.GetShareLinkEvent; import org.gcube.portlets.user.workspace.client.event.GetSharedLinkEventHandler; import org.gcube.portlets.user.workspace.client.event.GridElementSelectedEvent; @@ -76,6 +78,7 @@ import org.gcube.portlets.user.workspace.client.view.WorskpacePortlet; import org.gcube.portlets.user.workspace.client.view.panels.GxtBorderLayoutPanel; import org.gcube.portlets.user.workspace.client.view.panels.GxtItemsPanel; import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfo; +import org.gcube.portlets.user.workspace.client.view.windows.DialogPublicLink; import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay; import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert; import org.gcube.portlets.user.wsmail.client.forms.MailForm; @@ -162,6 +165,17 @@ public class AppController implements SubscriberInterface { } }); + eventBus.addHandler(GetPublicLinkEvent.TYPE, new GetPublicLinkEventHandler() { + + @Override + public void onGetPublicLink(GetPublicLinkEvent getPublicLinkEvent) { + // TODO Auto-generated method stub + if(getPublicLinkEvent.getSourceFile()!=null){ + AppControllerExplorer.getEventBus().fireEvent(new GetPublicLinkEvent(getPublicLinkEvent.getSourceFile())); + } + } + }); + eventBus.addHandler(AccountingHistoryEvent.TYPE, new AccountingHistoryEventHandler() { @Override @@ -814,7 +828,6 @@ public class AppController implements SubscriberInterface { isSearchForItemId = true; } - this.wsPortlet = new WorskpacePortlet(this.appContrExplorer.getPanel(true, false, !isSearch), instanceWithGrouping); eventBus.fireEvent(new LoadAllScopeEvent()); //LOAD ALL SCOPE EVENT } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java index 9c22fbf..73544fe 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java @@ -89,7 +89,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer { grid = new Grid(store, columnModel); grid.getView().setAutoFill(true); - grid.setBorders(true); +// grid.setBorders(true); view.setShowGroupedColumn(false); diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java index 7622f11..8236ba9 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtToolBarItemFunctionality.java @@ -1,13 +1,16 @@ package org.gcube.portlets.user.workspace.client.view.toolbars; import org.gcube.portlets.user.workspace.client.AppController; +import org.gcube.portlets.user.workspace.client.ConstantsExplorer; import org.gcube.portlets.user.workspace.client.ConstantsPortlet; import org.gcube.portlets.user.workspace.client.ConstantsPortlet.ViewSwitchTypeInResult; +import org.gcube.portlets.user.workspace.client.constant.WorkspaceOperation; 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.GetPublicLinkEvent; 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; @@ -26,9 +29,11 @@ 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.MenuEvent; 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.menu.MenuItem; import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; @@ -56,6 +61,7 @@ public class GxtToolBarItemFunctionality { private ToggleButton btnGridView; // private Button btnGetInfo; private Button btnGetSharedLink; + private Button btnPublicLink; public GxtToolBarItemFunctionality() { initToolBar(); @@ -149,6 +155,14 @@ public class GxtToolBarItemFunctionality { toolBar.add(btnGetSharedLink); + 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()); + btnAccessFromDesktop = new Button(ConstantsPortlet.TITLEACCESSWEBDAV, Resources.getIconWebDav()); btnAccessFromDesktop.setScale(ButtonScale.SMALL); btnAccessFromDesktop.setIconAlign(IconAlign.TOP); @@ -244,6 +258,20 @@ public class GxtToolBarItemFunctionality { } }); + + btnPublicLink.addSelectionListener(new SelectionListener() { + + @Override + public void componentSelected(ButtonEvent ce) { + + final FileGridModel fileGridModel = gridGroupViewContainer.getSelectedItem(); + + AppController.getEventBus().fireEvent(new GetPublicLinkEvent(fileGridModel)); + + } + }); + + // btnGetInfo.addSelectionListener(new SelectionListener() { // // @Override @@ -407,6 +435,7 @@ public class GxtToolBarItemFunctionality { public void activeButtonsOnSelectForOperation(FileModel target, boolean active) { this.btnPreview.disable(); + this.btnPublicLink.disable(); this.btnOpen.enable(); if(target!=null){ @@ -418,10 +447,13 @@ public class GxtToolBarItemFunctionality { case EXTERNAL_IMAGE: // contextMenu.getItemByItemId(ConstantsExplorer.PRW).setVisible(true); this.btnPreview.enable(); + this.btnPublicLink.enable(); break; - case EXTERNAL_FILE: + case EXTERNAL_FILE: + this.btnPublicLink.enable(); break; case EXTERNAL_PDF_FILE: + this.btnPublicLink.enable(); break; case EXTERNAL_URL: // contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true); @@ -476,7 +508,7 @@ public class GxtToolBarItemFunctionality { this.btnDownloadFile.disable(); this.btnOpen.disable(); // this.btnGetInfo.disable(); - this.btnGetSharedLink.disable(); +// this.btnGetSharedLink.disable(); } else { this.btnRemoveItem.enable(); this.btnRenameItem.enable(); @@ -501,6 +533,7 @@ public class GxtToolBarItemFunctionality { btnDownloadFile.setEnabled(active); btnPreview.setEnabled(active); btnOpen.setEnabled(active); + btnPublicLink.setEnabled(active); } public ToolBar getToolBar() {