From 8267e4cce50cc858df535a3310283c8d8bd4f88e Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 4 May 2010 11:51:22 +0000
Subject: [PATCH] [LMS-1504] link to project in project selection widget

SVN: 15752
---
 .../ProjectSelectionTreeGridContainer.java    | 27 ++++++++-----------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ProjectSelectionTreeGridContainer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ProjectSelectionTreeGridContainer.java
index 187de3523eb..08781e58b33 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ProjectSelectionTreeGridContainer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ProjectSelectionTreeGridContainer.java
@@ -56,6 +56,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.LinkRenderer;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.columns.framework.LinkExtractor;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener.OpenEntityDetailsTabHelper;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.GWTUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.WidgetUtils;
@@ -207,20 +208,19 @@ public final class ProjectSelectionTreeGridContainer extends LayoutContainer imp
                 {
                     final Project project = (Project) model.get(ModelDataPropertyNames.OBJECT);
 
+                    final ClickHandler listener = new ClickHandler()
+                        {
+                            public void onClick(ClickEvent event)
+                            {
+                                OpenEntityDetailsTabHelper.open(viewContext, project, WidgetUtils
+                                        .ifSpecialKeyPressed(event.getNativeEvent()));
+                            }
+                        };
+                    String href = LinkExtractor.tryExtract(project);
                     final Widget detailsLink =
                             LinkRenderer.getLinkWidget(viewContext
                                     .getMessage(Dict.PROJECT_SELECTOR_DETAILS_LINK_LABEL),
-                                    new ClickHandler()
-                                        {
-
-                                            public void onClick(ClickEvent event)
-                                            {
-                                                showProjectDetailsView(project,
-                                                        WidgetUtils.ifSpecialKeyPressed(event
-                                                                .getNativeEvent()));
-                                            }
-
-                                        });
+                                    listener, false, href != null ? "#" + href : null);
                     detailsLink.setTitle(viewContext
                             .getMessage(Dict.PROJECT_SELECTOR_DETAILS_LINK_TOOLTIP));
                     projectLinks.put(project, detailsLink);
@@ -304,11 +304,6 @@ public final class ProjectSelectionTreeGridContainer extends LayoutContainer imp
         return columnConfig;
     }
 
-    private void showProjectDetailsView(final Project project, boolean keyPressed)
-    {
-        OpenEntityDetailsTabHelper.open(viewContext, project, keyPressed);
-    }
-
     /**
      * Returns the {@link Project} currently selected.
      * 
-- 
GitLab