diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java index 172d5a52329f9a82f855712db8774f1671143874..16d4dcd98f105ec4315518c8da1a8279a11bb057 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java @@ -240,8 +240,6 @@ public abstract class Dict public static final String GROUPS = "groups"; - public static final String CONTAINER_DATA_SET = "container_dataset"; - public static final String PROJECT = "project"; public static final String EXPERIMENT = "experiment"; @@ -492,6 +490,10 @@ public abstract class Dict // ExternalData Viewer // + public static final String ORDER_IN_CONTAINER = "order_in_container"; + + public static final String CONTAINER_DATA_SET = "container_dataset"; + public static final String DATA_SET_PROPERTIES_HEADING = "data_set_properties_heading"; public static final String PARENT = "parent"; @@ -664,6 +666,10 @@ public abstract class Dict public static final String PARENTS_EMPTY = "parents_empty"; + public static final String CONTAINED_DATA_SETS = "contained_data_sets"; + + public static final String CONTAINED_DATA_SETS_EMPTY = "contained_data_sets_empty"; + // // Vocabulary Browser // diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/specific/data/CommonExternalDataColDefKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/specific/data/CommonExternalDataColDefKind.java index e38ea42bc68f3fb9fc30032b68d3f9f2a353a643..689ef70caf26ec2aa347ccbe1b1192be201bc57a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/specific/data/CommonExternalDataColDefKind.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/specific/data/CommonExternalDataColDefKind.java @@ -57,6 +57,34 @@ public enum CommonExternalDataColDefKind implements IColumnDefinitionKind<Extern } }), + CONTAINER(new AbstractColumnDefinitionKind<ExternalData>(Dict.CONTAINER_DATA_SET, 150, true) + { + @Override + public String tryGetValue(ExternalData entity) + { + final ExternalData containerOrNull = entity.tryGetContainer(); + return containerOrNull != null ? containerOrNull.getCode() : ""; + } + + @Override + public String tryGetLink(ExternalData entity) + { + final ExternalData containerOrNull = entity.tryGetContainer(); + return LinkExtractor.tryExtract(containerOrNull); + } + }), + + ORDER_IN_CONTAINER(new AbstractColumnDefinitionKind<ExternalData>(Dict.ORDER_IN_CONTAINER, 100, + true) + { + @Override + public String tryGetValue(ExternalData entity) + { + final Integer orderOrNull = entity.getOrderInContainer(); + return orderOrNull != null ? orderOrNull.toString() : ""; + } + }), + SAMPLE(new AbstractColumnDefinitionKind<ExternalData>(Dict.SAMPLE, 100, true) { @Override 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 045f888e27967d7e8a3b59e5d79b9dd232e769a7..2e7b56d5d2519c664cf39686e16198d67e645e80 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 @@ -97,6 +97,18 @@ public abstract class AbstractExternalDataGrid extendBottomToolbar(); + ICellListener<ExternalData> containerClickListener = + new OpenEntityDetailsTabCellClickListener() + { + @Override + protected IEntityInformationHolderWithPermId getEntity(ExternalData rowItem) + { + return rowItem.tryGetContainer(); + } + }; + registerLinkClickListenerFor(CommonExternalDataColDefKind.CONTAINER.id(), + containerClickListener); + ICellListener<ExternalData> experimentClickListener = new OpenEntityDetailsTabCellClickListener() { @@ -110,6 +122,7 @@ public abstract class AbstractExternalDataGrid experimentClickListener); registerLinkClickListenerFor(CommonExternalDataColDefKind.EXPERIMENT_IDENTIFIER.id(), experimentClickListener); + ICellListener<ExternalData> sampleClickListener = new OpenEntityDetailsTabCellClickListener() { @@ -329,6 +342,7 @@ public abstract class AbstractExternalDataGrid { ColumnDefsAndConfigs<ExternalData> schema = createColumnsSchema(); GridCellRenderer<BaseEntityModel<?>> linkRenderer = createInternalLinkCellRenderer(); + schema.setGridCellRendererFor(CommonExternalDataColDefKind.CONTAINER.id(), linkRenderer); schema.setGridCellRendererFor(CommonExternalDataColDefKind.SAMPLE.id(), linkRenderer); schema.setGridCellRendererFor(CommonExternalDataColDefKind.SAMPLE_IDENTIFIER.id(), linkRenderer); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index 2deaffbb5d1ffa407978bf0dcdc69390ba62cc26..15c98b42d0d006c6965b387e84baa0a47ff59a9b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -187,7 +187,6 @@ var common = { space: "Space", groups: "Spaces", project: "Project", - container_dataset: "Container", experiment: "Experiment", experiment_identifier: "Experiment Identifier", generated_from: "Parent {0}", @@ -216,7 +215,9 @@ var common = { // // DataSet Browser // - + + container_dataset: "Container", + order_in_container: "Order in Container", children_datasets: "Children", no_datasets_selected: "No Data Sets were selected.", datasets_from_different_stores_selected: "Data Sets from different Data Stores were selected, so no operation can be performed on all of them.", @@ -531,6 +532,8 @@ var common = { // parents: "Parents", parents_empty: "List of parent data set codes separated by commas (\",\") or one code per line.", + contained_data_sets: "Contains Data Sets", + contained_data_sets_empty: "List of contained data set codes separated by commas (\",\") or one code per line.", // // Vocabulary Browser