From b379492718f8f72dc24e573ddd00f7d0da95cf0e Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 4 May 2010 07:48:09 +0000
Subject: [PATCH] [LMS-1504] fixed links to project in data set browsers

SVN: 15738
---
 .../ui/data/AbstractExternalDataGrid.java     | 67 +++++++++++--------
 1 file changed, 40 insertions(+), 27 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java
index 7a5462cfe5d..b56713a09cb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java
@@ -92,9 +92,46 @@ public abstract class AbstractExternalDataGrid
         setId(browserId);
         updateCriteriaProviderAndRefresh();
 
+        extendBottomToolbar();
+
+        ICellListener<ExternalData> experimentClickListener =
+                new OpenEntityDetailsTabCellClickListener()
+                    {
+                        @Override
+                        protected IEntityInformationHolder getEntity(ExternalData rowItem)
+                        {
+                            return rowItem.getExperiment();
+                        }
+                    };
+        registerLinkClickListenerFor(CommonExternalDataColDefKind.EXPERIMENT.id(),
+                experimentClickListener);
+        registerLinkClickListenerFor(CommonExternalDataColDefKind.EXPERIMENT_IDENTIFIER.id(),
+                experimentClickListener);
+        ICellListener<ExternalData> sampleClickListener =
+                new OpenEntityDetailsTabCellClickListener()
+                    {
+                        @Override
+                        protected IEntityInformationHolder getEntity(ExternalData rowItem)
+                        {
+                            return rowItem.getSample();
+                        }
+                    };
+        registerLinkClickListenerFor(CommonExternalDataColDefKind.SAMPLE.id(), sampleClickListener);
+        registerLinkClickListenerFor(CommonExternalDataColDefKind.SAMPLE_IDENTIFIER.id(),
+                sampleClickListener);
+    }
+
+    // adds show, show-details and invalidate buttons
+    protected void extendBottomToolbar()
+    {
+        if (viewContext.isSimpleMode())
+        {
+            return;
+        }
         addEntityOperationsLabel();
+
         addButton(createSelectedItemButton(viewContext.getMessage(Dict.BUTTON_SHOW_DETAILS),
-                browserId + SHOW_DETAILS_BUTTON_ID_SUFFIX, asShowEntityInvoker(false)));
+                getId() + SHOW_DETAILS_BUTTON_ID_SUFFIX, asShowEntityInvoker(false)));
         addButton(createSelectedItemButton(viewContext.getMessage(Dict.BUTTON_EDIT),
                 asShowEntityInvoker(true)));
 
@@ -134,33 +171,8 @@ public abstract class AbstractExternalDataGrid
         addButton(uploadButton);
         addButton(createComputeMenu());
         addEntityOperationsSeparator();
-        allowMultipleSelection();
-        ICellListener<ExternalData> experimentClickListener =
-                new OpenEntityDetailsTabCellClickListener()
-                    {
-                        @Override
-                        protected IEntityInformationHolder getEntity(ExternalData rowItem)
-                        {
-                            return rowItem.getExperiment();
-                        }
-                    };
-        registerLinkClickListenerFor(CommonExternalDataColDefKind.EXPERIMENT.id(),
-                experimentClickListener);
-        registerLinkClickListenerFor(CommonExternalDataColDefKind.EXPERIMENT_IDENTIFIER.id(),
-                experimentClickListener);
-        ICellListener<ExternalData> sampleClickListener =
-                new OpenEntityDetailsTabCellClickListener()
-                    {
-                        @Override
-                        protected IEntityInformationHolder getEntity(ExternalData rowItem)
-                        {
-                            return rowItem.getSample();
-                        }
-                    };
-        registerLinkClickListenerFor(CommonExternalDataColDefKind.SAMPLE.id(), sampleClickListener);
-        registerLinkClickListenerFor(CommonExternalDataColDefKind.SAMPLE_IDENTIFIER.id(),
-                sampleClickListener);
 
+        allowMultipleSelection();
     }
 
     @Override
@@ -315,6 +327,7 @@ public abstract class AbstractExternalDataGrid
         schema.setGridCellRendererFor(CommonExternalDataColDefKind.EXPERIMENT.id(), linkRenderer);
         schema.setGridCellRendererFor(CommonExternalDataColDefKind.EXPERIMENT_IDENTIFIER.id(),
                 linkRenderer);
+        schema.setGridCellRendererFor(CommonExternalDataColDefKind.PROJECT.id(), linkRenderer);
         schema.setGridCellRendererFor(CommonExternalDataColDefKind.SHOW_DETAILS_LINK.id(),
                 createShowDetailsLinkCellRenderer());
         return schema;
-- 
GitLab