Skip to content
Snippets Groups Projects
Commit 3cd2a919 authored by buczekp's avatar buczekp
Browse files

[LMS-1757] fixed links to materials in simple view mode

SVN: 17908
parent 8ab31864
No related branches found
No related tags found
No related merge requests found
...@@ -40,10 +40,17 @@ public class LinkExtractor ...@@ -40,10 +40,17 @@ public class LinkExtractor
{ {
return null; return null;
} }
URLMethodWithParameters url = new URLMethodWithParameters(""); if (entityOrNull.getEntityKind() == EntityKind.MATERIAL)
url.addParameter(PermlinkUtilities.ENTITY_KIND_PARAMETER_KEY, entityOrNull.getEntityKind().name()); {
url.addParameter(PermlinkUtilities.PERM_ID_PARAMETER_KEY, entityOrNull.getPermId()); return tryExtractMaterial(entityOrNull);
return print(url); } else
{
URLMethodWithParameters url = new URLMethodWithParameters("");
url.addParameter(PermlinkUtilities.ENTITY_KIND_PARAMETER_KEY, entityOrNull
.getEntityKind().name());
url.addParameter(PermlinkUtilities.PERM_ID_PARAMETER_KEY, entityOrNull.getPermId());
return print(url);
}
} }
public static final String tryExtract(Project p) public static final String tryExtract(Project p)
......
...@@ -365,7 +365,7 @@ public class PlateMaterialReviewer extends AbstractSimpleBrowserGrid<WellContent ...@@ -365,7 +365,7 @@ public class PlateMaterialReviewer extends AbstractSimpleBrowserGrid<WellContent
{ {
ColumnDefsAndConfigs<WellContent> schema = super.createColumnsDefinition(); ColumnDefsAndConfigs<WellContent> schema = super.createColumnsDefinition();
setLinksRenderer(schema, new PlateMaterialReviewerColDefKind[] setLinksRenderer(schema, new PlateMaterialReviewerColDefKind[]
{ PlateMaterialReviewerColDefKind.WELL_CONTENT_MATERIAL, {
PlateMaterialReviewerColDefKind.WELL_CONTENT_MATERIAL, PlateMaterialReviewerColDefKind.WELL_CONTENT_MATERIAL,
PlateMaterialReviewerColDefKind.PLATE, PlateMaterialReviewerColDefKind.WELL, PlateMaterialReviewerColDefKind.PLATE, PlateMaterialReviewerColDefKind.WELL,
PlateMaterialReviewerColDefKind.DATASET, PlateMaterialReviewerColDefKind.DATASET,
......
...@@ -34,12 +34,14 @@ import com.extjs.gxt.ui.client.widget.layout.TableData; ...@@ -34,12 +34,14 @@ import com.extjs.gxt.ui.client.widget.layout.TableData;
import com.extjs.gxt.ui.client.widget.layout.TableLayout; import com.extjs.gxt.ui.client.widget.layout.TableLayout;
import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Widget; import com.google.gwt.user.client.ui.Widget;
import ch.systemsx.cisd.common.shared.basic.utils.StringUtils; import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.LinkRenderer; 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.OpenEntityDetailsTabClickListener; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener.OpenEntityDetailsTabClickListener;
import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
...@@ -162,8 +164,8 @@ public class WellContentDialog extends Dialog ...@@ -162,8 +164,8 @@ public class WellContentDialog extends Dialog
WellContent wellContent, WellImages wellImages) WellContent wellContent, WellImages wellImages)
{ {
WellContentDialog contentDialog = WellContentDialog contentDialog =
new WellContentDialog(wellContent.getWell(), null, new WellContentDialog(wellContent.getWell(), null, getExperiment(wellContent
getExperiment(wellContent.getExperiment()), viewContext); .getExperiment()), viewContext);
// NOTE: channel chooser state will be not reused among different dialogs // NOTE: channel chooser state will be not reused among different dialogs
DefaultChannelState channelState = new DefaultChannelState(); DefaultChannelState channelState = new DefaultChannelState();
...@@ -196,8 +198,8 @@ public class WellContentDialog extends Dialog ...@@ -196,8 +198,8 @@ public class WellContentDialog extends Dialog
return createTilesGrid(images, channel, sessionId); return createTilesGrid(images, channel, sessionId);
} }
}; };
return ChannelChooser.createViewerWithChannelChooser(viewerFactory, channelState, return ChannelChooser.createViewerWithChannelChooser(viewerFactory, channelState, images
images.getChannelsCodes()); .getChannelsCodes());
} }
private static LayoutContainer createTilesGrid(final WellImages images, String channel, private static LayoutContainer createTilesGrid(final WellImages images, String channel,
...@@ -265,8 +267,8 @@ public class WellContentDialog extends Dialog ...@@ -265,8 +267,8 @@ public class WellContentDialog extends Dialog
getImageHeight(images)); getImageHeight(images));
} }
}; };
return ChannelChooser.createViewerWithChannelChooser(viewerFactory, channelState, return ChannelChooser.createViewerWithChannelChooser(viewerFactory, channelState, images
images.getChannelsCodes()); .getChannelsCodes());
} }
// ---------------- STATIC METHODS ------------------- // ---------------- STATIC METHODS -------------------
...@@ -285,15 +287,15 @@ public class WellContentDialog extends Dialog ...@@ -285,15 +287,15 @@ public class WellContentDialog extends Dialog
private static SingleExperimentSearchCriteria getExperiment(WellData wellData) private static SingleExperimentSearchCriteria getExperiment(WellData wellData)
{ {
return new SingleExperimentSearchCriteria(wellData.getExperimentId().getId(), return new SingleExperimentSearchCriteria(wellData.getExperimentId().getId(), wellData
wellData.getExperimentDisplayIdentifier()); .getExperimentDisplayIdentifier());
} }
private static SingleExperimentSearchCriteria getExperiment( private static SingleExperimentSearchCriteria getExperiment(
ExperimentReference experimentReference) ExperimentReference experimentReference)
{ {
return new SingleExperimentSearchCriteria(experimentReference.getId(), return new SingleExperimentSearchCriteria(experimentReference.getId(), experimentReference
experimentReference.getExperimentIdentifier()); .getExperimentIdentifier());
} }
private static float getImageSizeMultiplyFactor(WellImages images) private static float getImageSizeMultiplyFactor(WellImages images)
...@@ -348,7 +350,7 @@ public class WellContentDialog extends Dialog ...@@ -348,7 +350,7 @@ public class WellContentDialog extends Dialog
} }
}); });
} }
private void addComponent(LayoutContainer component) private void addComponent(LayoutContainer component)
{ {
add(component); add(component);
...@@ -408,8 +410,8 @@ public class WellContentDialog extends Dialog ...@@ -408,8 +410,8 @@ public class WellContentDialog extends Dialog
if (material != null) if (material != null)
{ {
if (material.getMaterialType().getCode() if (material.getMaterialType().getCode().equalsIgnoreCase(
.equalsIgnoreCase(ScreeningConstants.GENE_PLUGIN_TYPE_CODE)) ScreeningConstants.GENE_PLUGIN_TYPE_CODE))
{ {
container.add(createEntityExternalLink(material)); container.add(createEntityExternalLink(material));
} else } else
...@@ -458,8 +460,8 @@ public class WellContentDialog extends Dialog ...@@ -458,8 +460,8 @@ public class WellContentDialog extends Dialog
} }
} else } else
{ {
container.add(new Html(LinkRenderer.renderAsLinkWithAnchor("gene database", container.add(new Html(LinkRenderer.renderAsLinkWithAnchor("gene database", viewContext
viewContext.getMessage(Dict.GENE_LIBRARY_SEARCH_URL, gene.getCode()), true))); .getMessage(Dict.GENE_LIBRARY_SEARCH_URL, gene.getCode()), true)));
} }
container.add(new Text("]")); container.add(new Text("]"));
return container; return container;
...@@ -467,17 +469,29 @@ public class WellContentDialog extends Dialog ...@@ -467,17 +469,29 @@ public class WellContentDialog extends Dialog
private Widget createPlateLocationsMaterialViewerLink(final IEntityInformationHolder material) private Widget createPlateLocationsMaterialViewerLink(final IEntityInformationHolder material)
{ {
return LinkRenderer.getLinkWidget(material.getCode(), new ClickHandler() final String href = LinkExtractor.tryExtractMaterial(material);
final ClickHandler listener = new ClickHandler()
{ {
public void onClick(ClickEvent event) public void onClick(ClickEvent event)
{ {
WellContentDialog.this.hide(); WellContentDialog.this.hide();
ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ClientPluginFactory ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.ClientPluginFactory
.openPlateLocationsMaterialViewer(material, .openPlateLocationsMaterialViewer(material, ExperimentSearchCriteria
ExperimentSearchCriteria.createExperiment(experiment), .createExperiment(experiment), viewContext);
viewContext);
} }
}); };
Anchor link = (Anchor) LinkRenderer.getLinkWidget(material.getCode(), listener, href);
if (viewContext.isSimpleMode())
{
link.addClickHandler(new ClickHandler()
{
public void onClick(ClickEvent event)
{
WellContentDialog.this.hide();
}
});
}
return link;
} }
private Widget createEntityLink(IEntityInformationHolder entity) private Widget createEntityLink(IEntityInformationHolder entity)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment