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 eb3d1dc..c5f0a61 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 @@ -19,7 +19,6 @@ import org.gcube.portlets.user.workspace.client.gridevent.StoreGridChangedEvent; 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.model.GroupingStoreModel; -import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay; import com.extjs.gxt.ui.client.Style.SelectionMode; import com.extjs.gxt.ui.client.data.ModelData; @@ -229,17 +228,21 @@ public class GxtGridFilterGroupPanel extends LayoutContainer { public void handleEvent(GridEvent be) { - if(be.isRightClick()) - { - if(grid.getSelectionModel().getSelectedItem()!=null){ + if(be.isRightClick()){ - if(grid.getSelectionModel().getSelection().size()>1){ - new InfoDisplay("Info", "The context menu is not available if multi-select is active"); - return; - } + List selection = grid.getSelectionModel().getSelection(); + if(selection!=null && selection.size()>0){ - FileGridModel fileGridModel = grid.getSelectionModel().getSelectedItem(); - AppController.getEventBus().fireEvent(new OpenContextMenuTreeEvent(fileGridModel, be.getClientX(), be.getClientY())); +// if(grid.getSelectionModel().getSelection().size()>1){ +// new InfoDisplay("Info", "The context menu is not available if multi-select is active"); +// return; +// } + List selected = new ArrayList(selection.size()); + for (FileGridModel fileGridModel : selection) { + selected.add(fileGridModel); + } + //List selectedItems = grid.getSelectionModel().getSelectedItems(); + AppController.getEventBus().fireEvent(new OpenContextMenuTreeEvent(selected, be.getClientX(), be.getClientY())); } } }