From 343c0f4e9ed55cb8fa10e912c9636a1ade4e2ab7 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Mon, 6 Sep 2010 11:57:04 +0000 Subject: [PATCH] [LMS-1690] select experiment after clicking on material code SVN: 17724 --- .../ExperimentWellMaterialBrowserGrid.java | 52 +++++++++---------- .../ExperimentWellMaterialsSection.java | 5 +- 2 files changed, 27 insertions(+), 30 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialBrowserGrid.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialBrowserGrid.java index e4cde4ed26e..603f21e5b10 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialBrowserGrid.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialBrowserGrid.java @@ -24,10 +24,12 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.materia import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListMaterialDisplayCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSet; -import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; +import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ClientPluginFactory; +import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateMaterialsSearchCriteria.ExperimentSearchCriteria; /** * A {@link MaterialBrowserGrid} extension for showing materials used in wells of an experiment. @@ -42,20 +44,13 @@ public class ExperimentWellMaterialBrowserGrid extends MaterialBrowserGrid */ public static DisposableEntityChooser<Material> createForExperiment( final IViewContext<IScreeningClientServiceAsync> screeningViewContext, - TechId experimentId) - { - return createWithTypeChooser(screeningViewContext, experimentId); - } - - private static DisposableEntityChooser<Material> createWithTypeChooser( - final IViewContext<IScreeningClientServiceAsync> screeningViewContext, - final TechId experimentId) + final IEntityInformationHolderWithIdentifier experiment) { final MaterialBrowserToolbar toolbar = new MaterialBrowserToolbar(screeningViewContext.getCommonViewContext(), null); final ICriteriaProvider<ListMaterialDisplayCriteria> criteriaProvider = toolbar; final ExperimentWellMaterialBrowserGrid browserGrid = - createBrowserGrid(screeningViewContext, criteriaProvider, experimentId); + createBrowserGrid(screeningViewContext, criteriaProvider, experiment); browserGrid.addGridRefreshListener(toolbar); browserGrid.extendBottomToolbar(true); return browserGrid.asDisposableWithToolbar(toolbar); @@ -64,24 +59,25 @@ public class ExperimentWellMaterialBrowserGrid extends MaterialBrowserGrid private static ExperimentWellMaterialBrowserGrid createBrowserGrid( final IViewContext<IScreeningClientServiceAsync> screeningViewContext, final ICriteriaProvider<ListMaterialDisplayCriteria> criteriaProvider, - final TechId experimentId) + final IEntityInformationHolderWithIdentifier experiment) { return new ExperimentWellMaterialBrowserGrid(screeningViewContext, true, criteriaProvider, - experimentId); + experiment); } private final IViewContext<IScreeningClientServiceAsync> screeningViewContext; - private final TechId experimentId; + private final IEntityInformationHolderWithIdentifier experiment; protected ExperimentWellMaterialBrowserGrid( final IViewContext<IScreeningClientServiceAsync> screeningViewContext, boolean refreshAutomatically, - ICriteriaProvider<ListMaterialDisplayCriteria> criteriaProvider, TechId experimentId) + ICriteriaProvider<ListMaterialDisplayCriteria> criteriaProvider, + IEntityInformationHolderWithIdentifier experiment) { super(screeningViewContext.getCommonViewContext(), refreshAutomatically, criteriaProvider); this.screeningViewContext = screeningViewContext; - this.experimentId = experimentId; + this.experiment = experiment; } @Override @@ -95,22 +91,24 @@ public class ExperimentWellMaterialBrowserGrid extends MaterialBrowserGrid AbstractAsyncCallback<ResultSet<Material>> callback) { criteria.copyPagingConfig(resultSetConfig); - screeningViewContext.getService().listExperimentMaterials(experimentId, criteria, callback); + screeningViewContext.getService().listExperimentMaterials(TechId.create(experiment), + criteria, callback); } - // TODO 2010-09-06, Piotr Buczek: check @Override - protected void prepareExportEntities(TableExportCriteria<Material> exportCriteria, - AbstractAsyncCallback<String> callback) + protected void showEntityViewer(Material material, boolean editMode, boolean active) { - viewContext.getService().prepareExportMaterials(exportCriteria, callback); + if (editMode == false) + { + ExperimentSearchCriteria experimentCriteria = + ExperimentSearchCriteria.createExperiment(experiment.getId(), experiment + .getIdentifier()); + ClientPluginFactory.openPlateLocationsMaterialViewer(material, experimentCriteria, + screeningViewContext); + } else + { + super.showEntityViewer(material, editMode, active); + } } - // TODO 2010-09-06, Piotr Buczek: set experiment - // @Override - // protected void showEntityViewer(Material material, boolean editMode, boolean active) - // { - // showEntityInformationHolderViewer(material, editMode, active); - // } - } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java index cdd820c5070..22ac7a32658 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ExperimentWellMaterialsSection.java @@ -4,7 +4,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.Disposable import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent; import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithIdentifier; -import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.Dict; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.DisplayTypeIDGenerator; @@ -36,8 +35,8 @@ public class ExperimentWellMaterialsSection extends DisposableSectionPanel @Override protected IDisposableComponent createDisposableContent() { - return ExperimentWellMaterialBrowserGrid.createForExperiment(screeningViewContext, TechId - .create(experiment)); + return ExperimentWellMaterialBrowserGrid.createForExperiment(screeningViewContext, + experiment); } } \ No newline at end of file -- GitLab