diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/MaterialPropertyColRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/MaterialPropertyColRenderer.java index 1179bd1d1f8507a8649f49208e74ecd819f79c9b..903a4b7f0e96b9f33d2630942d0e85a7a124ef1b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/MaterialPropertyColRenderer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/model/renderer/MaterialPropertyColRenderer.java @@ -59,9 +59,7 @@ class MaterialPropertyColRenderer<T extends IEntityPropertiesHolder> extends // } // } String href = LinkExtractor.tryExtract(identifier); - final Widget link = - LinkRenderer.getLinkWidget(identifier.getCode(), null, false, - href != null ? ("#" + href) : null); + final Widget link = LinkRenderer.getLinkWidget(identifier.getCode(), null, href); FlowPanel panel = new FlowPanel(); panel.add(link); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java index d9b3009b04797826a1d151a6ac9a6ccb859c1600..c112c37dd3b765a00cb04de023b02528a0afdd26 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java @@ -128,7 +128,18 @@ public class LinkRenderer */ public static Widget getLinkWidget(final String text, final ClickHandler listener) { - return getLinkWidget(text, listener, false, null); + return getLinkWidget(text, listener, null); + } + + /** + * @return {@link Hyperlink} GWT widget that is displayed as a link with given <var>text</var> + * and if simple mode is not active a <var>listener</var> registered on the click event. + * If <var>historyHref</var> is not null it will be attached to the link after '#'. + */ + public static Widget getLinkWidget(final String text, final ClickHandler listener, + final String historyHref) + { + return getLinkWidget(text, listener, historyHref, false); } /** @@ -138,7 +149,7 @@ public class LinkRenderer * false). */ public static Widget getLinkWidget(final String text, final ClickHandler listener, - boolean invalidate, String href) + final String historyHref, final boolean invalidate) { Anchor link = new Anchor(); link.setText(text); @@ -147,9 +158,9 @@ public class LinkRenderer { link.addClickHandler(listener); } - if (href != null) + if (historyHref != null) { - link.setHref(href); + link.setHref("#" + historyHref); } if (invalidate) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/PropertyValueRenderers.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/PropertyValueRenderers.java index 40c01c7b3e28cd107b97c126c097a956685f96b3..34346b90793fa06aa718cd66c8751eb3b8a92ee1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/PropertyValueRenderers.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/PropertyValueRenderers.java @@ -296,9 +296,7 @@ public final class PropertyValueRenderers new OpenEntityDetailsTabClickListener(material, viewContext); String href = LinkExtractor.tryExtract(material); - final Widget link = - LinkRenderer.getLinkWidget(material.getCode(), listener, false, - href != null ? ("#" + href) : null); + final Widget link = LinkRenderer.getLinkWidget(material.getCode(), listener, href); FlowPanel panel = new FlowPanel(); panel.add(link); @@ -425,9 +423,7 @@ public final class PropertyValueRenderers final ClickHandler listener = new OpenEntityDetailsTabClickListener(entity, viewContext); String href = LinkExtractor.tryExtract(entity); - final Widget link = - LinkRenderer.getLinkWidget(displayText, listener, invalidate, - href != null ? "#" + href : null); + final Widget link = LinkRenderer.getLinkWidget(displayText, listener, href, invalidate); // putting link into a panel makes it a block/row // which is important if they are rendered as an array @@ -485,9 +481,7 @@ public final class PropertyValueRenderers } }; String href = LinkExtractor.tryExtract(project); - final Widget link = - LinkRenderer.getLinkWidget(displayText, listener, false, href != null ? "#" - + href : null); + final Widget link = LinkRenderer.getLinkWidget(displayText, listener, href, false); return link; } 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 08781e58b33f8edeb88782853e5fe1007aac3ee5..1c02d44c19654e2582886ca8a27b7a7192994129 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 @@ -220,7 +220,7 @@ public final class ProjectSelectionTreeGridContainer extends LayoutContainer imp final Widget detailsLink = LinkRenderer.getLinkWidget(viewContext .getMessage(Dict.PROJECT_SELECTOR_DETAILS_LINK_LABEL), - listener, false, href != null ? "#" + href : null); + listener, href); detailsLink.setTitle(viewContext .getMessage(Dict.PROJECT_SELECTOR_DETAILS_LINK_TOOLTIP)); projectLinks.put(project, detailsLink);