diff --git a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolDetails.jsp b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolDetails.jsp index 01ac7a9e..941c572c 100644 --- a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolDetails.jsp +++ b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolDetails.jsp @@ -402,14 +402,14 @@ a { text-decoration: none; }
<%= h(tool.getName()) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().addClass("toolProperty").id("editIcon").title("Icon").onClick("editTool($(this), 'Icon')")%> + <%=simpleLink(editIconImgHtml).addClass("toolProperty").id("editIcon").title("Icon").onClick("editTool($(this), 'Icon')")%> <% } %>

<%= h(tool.getName()) %>

Version <%= h(tool.getVersion()) %> <% if (allVersions.length > 1) { %> - [<%=link("View All").clearClasses().onClick("$('#allVersionsPop').dialog('open')")%>] + [<%=simpleLink("View All").onClick("$('#allVersionsPop').dialog('open')")%>]

<% } %>

@@ -429,14 +429,14 @@ a { text-decoration: none; } @@ -445,7 +445,7 @@ a { text-decoration: none; }

<%= h(tool.getDescription(), true) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().onClick("editTool($(this))")%> + <%=simpleLink(editIconImgHtml).onClick("editTool($(this))")%> <% } %>

@@ -480,7 +480,7 @@ a { text-decoration: none; } Organization: <%= h(tool.getOrganization()) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().onClick("editTool($(this))")%> + <%=simpleLink(editIconImgHtml).onClick("editTool($(this))")%> <% } %>
<% } %> @@ -490,7 +490,7 @@ a { text-decoration: none; } Authors: <%= h(tool.getAuthors()) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().onClick("editTool($(this), 'author')")%> + <%=simpleLink(editIconImgHtml).onClick("editTool($(this), 'author')")%> <% } %>
<% } %> @@ -500,7 +500,7 @@ a { text-decoration: none; } Languages: <%= h(tool.getLanguages()) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().onClick("editTool($(this))")%> + <%=simpleLink(editIconImgHtml).onClick("editTool($(this))")%> <% } %>
<% } %> @@ -510,7 +510,7 @@ a { text-decoration: none; } More Information: <%= h(tool.getProvider()) %> <% if (toolEditor) { %> - <%=link(editIconImgHtml).clearClasses().onClick("editTool($(this), 'provider')")%> + <%=simpleLink(editIconImgHtml).onClick("editTool($(this), 'provider')")%> <% } %> diff --git a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolsStoreWebPart.jsp b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolsStoreWebPart.jsp index df63e815..b780aea8 100644 --- a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolsStoreWebPart.jsp +++ b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/view/SkylineToolsStoreWebPart.jsp @@ -273,14 +273,14 @@ @@ -349,7 +349,7 @@

See all <%= totalReviews %> reviews <% if (loggedIn && !leftReview) { %> - <%=link("Leave review").clearClasses().onClick("$('#ratingToolId').val(" + tool.getRowId() + "); $('#reviewPop').dialog('open')")%> + <%=simpleLink("Leave review").onClick("$('#ratingToolId').val(" + tool.getRowId() + "); $('#reviewPop').dialog('open')")%> <% } %>

diff --git a/lincs/src/org/labkey/lincs/LincsController.java b/lincs/src/org/labkey/lincs/LincsController.java index 045023d0..2179ba2f 100644 --- a/lincs/src/org/labkey/lincs/LincsController.java +++ b/lincs/src/org/labkey/lincs/LincsController.java @@ -1039,7 +1039,7 @@ public ModelAndView getSuccessView(ClueCredentialsForm form) return new HtmlView( DIV("Clue/PSP details saved!", BR(), - new LinkBuilder("Back to Project").href(projectUrl).build() + LinkBuilder.labkeyLink("Back to Project", projectUrl).build() ) ); } @@ -1124,8 +1124,8 @@ public ModelAndView getSuccessView(CromwellConfigForm cromwellConfigForm) ActionURL projectUrl = PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(getContainer()); return new HtmlView( DIV("Cromwell details saved!", - BR(), - new LinkBuilder("Back to Project").href(projectUrl).build() + BR(), + LinkBuilder.labkeyLink("Back to Project", projectUrl).build() ) ); } @@ -1237,7 +1237,7 @@ public ModelAndView getView(LincsPspJobForm form, BindException errors) if(pspJob.getPipelineJobId() != null && getUser().hasSiteAdminPermission()) { ActionURL pipelineJobUrl = PageFlowUtil.urlProvider(PipelineStatusUrls.class).urlDetails(getContainer(), pspJob.getPipelineJobId()); - view.addView(new HtmlView(PageFlowUtil.link("View Pipeline Job. Status: " + PipelineService.get().getStatusFile(pspJob.getPipelineJobId()).getStatus()).href(pipelineJobUrl))); + view.addView(new HtmlView(LinkBuilder.labkeyLink("View Pipeline Job. Status: " + PipelineService.get().getStatusFile(pspJob.getPipelineJobId()).getStatus(), pipelineJobUrl))); } view.setTitle("PSP Job Details"); diff --git a/lincs/src/org/labkey/lincs/LincsDataTable.java b/lincs/src/org/labkey/lincs/LincsDataTable.java index 006f1a40..06d8a37c 100644 --- a/lincs/src/org/labkey/lincs/LincsDataTable.java +++ b/lincs/src/org/labkey/lincs/LincsDataTable.java @@ -87,7 +87,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) // is recommended instead of deprecated SPAN( at(style, "white-space: nowrap;"), - new LinkBuilder("Download").iconCls("fa fa-download").href(downloadUrl), + LinkBuilder.labkeyLink("Download", downloadUrl).iconCls("fa fa-download"), HtmlString.NBSP, LinkBuilder.simpleLink("Skyline", docDetailsUrl) ).appendTo(out); @@ -158,7 +158,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) ActionURL url = new ActionURL(LincsController.SubmitPspJobAction.class, getContainer()); url.addParameter("runId", runId); - out.write(new LinkBuilder(" [Submit Job]").href(url).usePost()); + out.write(LinkBuilder.labkeyLink(" [Submit Job]", url).usePost()); } return; } @@ -176,7 +176,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) } ActionURL url = new ActionURL(LincsController.LincsPspJobDetailsAction.class, getContainer()); url.addParameter("runId", pspJob.getRunId()); - out.write(PageFlowUtil.link(text).href(url)); + out.write(LinkBuilder.labkeyLink(text, url)); } @Override @@ -376,9 +376,9 @@ private void renderGridCell(HtmlWriter out, String analyticsScript, String downl SPAN( at(style, "white-space: nowrap;"), HtmlString.NBSP, - new LinkBuilder("Download").iconCls("fa fa-download").href(downloadUrl).onClick(analyticsScript), + LinkBuilder.labkeyLink("Download", downloadUrl).iconCls("fa fa-download").onClick(analyticsScript), HtmlString.NBSP, - new LinkBuilder(downloadText).href(downloadUrl).onClick(analyticsScript).clearClasses(), + LinkBuilder.simpleLink(downloadText, downloadUrl).onClick(analyticsScript), HtmlString.NBSP, morpheusUrl != null ? HtmlString.NBSP : null, morpheusUrl, diff --git a/panoramapublic/src/org/labkey/panoramapublic/PanoramaPublicController.java b/panoramapublic/src/org/labkey/panoramapublic/PanoramaPublicController.java index fe64c505..e770fdc3 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/PanoramaPublicController.java +++ b/panoramapublic/src/org/labkey/panoramapublic/PanoramaPublicController.java @@ -294,7 +294,7 @@ public ModelAndView getView(Object o, BindException errors) LI("Creates a new security group for project administrators"), LI("Creates an entry in the Journal table of the panoramapublic schema") ), - DIV(new LinkBuilder("Create a new journal group").href(new ActionURL(CreateJournalGroupAction.class, getContainer()))) + DIV(LinkBuilder.labkeyLink("Create a new journal group", new ActionURL(CreateJournalGroupAction.class, getContainer()))) ))); view.addView(qView); @@ -310,22 +310,28 @@ public ModelAndView getView(Object o, BindException errors) private ModelAndView getPXCredentialsLink() { ActionURL url = new ActionURL(ManageProteomeXchangeCredentials.class, getContainer()); - return new HtmlView(DIV(at(style, "margin-top:20px;"), - new LinkBuilder("Set ProteomeXchange Credentials").href(url).build())); + return new HtmlView(DIV( + at(style, "margin-top:20px;"), + LinkBuilder.labkeyLink("Set ProteomeXchange Credentials", url) + )); } private ModelAndView getDataCiteCredentialsLink() { ActionURL url = new ActionURL(ManageDataCiteCredentials.class, getContainer()); - return new HtmlView(DIV(at(style, "margin-top:20px;"), - new LinkBuilder("Set DataCite Credentials").href(url).build())); + return new HtmlView(DIV( + at(style, "margin-top:20px;"), + LinkBuilder.labkeyLink("Set DataCite Credentials", url) + )); } private ModelAndView getPanoramaPublicCatalogSettingsLink() { ActionURL url = new ActionURL(ManageCatalogEntrySettings.class, getContainer()); - return new HtmlView(DIV(at(style, "margin-top:20px;"), - new LinkBuilder("Panorama Public Catalog Settings").href(url).build())); + return new HtmlView(DIV( + at(style, "margin-top:20px;"), + LinkBuilder.labkeyLink("Panorama Public Catalog Settings", url) + )); } private ModelAndView getPostSupportMessageLink() @@ -334,8 +340,10 @@ private ModelAndView getPostSupportMessageLink() if (panoramaPublic != null) { ActionURL url = new ActionURL(CreatePanoramaPublicMessageAction.class, panoramaPublic.getProject()); - return new HtmlView(DIV(at(style, "margin-top:20px;"), - new LinkBuilder("Post to Panorama Public Support Messages").href(url).build())); + return new HtmlView(DIV( + at(style, "margin-top:20px;"), + LinkBuilder.labkeyLink("Post to Panorama Public Support Messages", url) + )); } return null; } @@ -993,9 +1001,12 @@ public ModelAndView getSuccessView(DataCiteCredentialsForm form) { ActionURL adminUrl = new ActionURL(PanoramaPublicAdminViewAction.class, getContainer()); return new HtmlView( - DIV("DataCite credentials saved!", + DIV( + "DataCite credentials saved!", BR(), - new LinkBuilder("Back to Panorama Public Admin Console").href(adminUrl).build())); + LinkBuilder.labkeyLink("Back to Panorama Public Admin Console", adminUrl) + ) + ); } @Override @@ -1140,9 +1151,12 @@ public ModelAndView getSuccessView(PXCredentialsForm form) { ActionURL adminUrl = new ActionURL(PanoramaPublicAdminViewAction.class, getContainer()); return new HtmlView( - DIV("ProteomeXchange credentials saved!", + DIV( + "ProteomeXchange credentials saved!", BR(), - new LinkBuilder("Back to Panorama Public Admin Console").href(adminUrl).build())); + LinkBuilder.labkeyLink("Back to Panorama Public Admin Console", adminUrl) + ) + ); } @Override @@ -1312,9 +1326,11 @@ public ModelAndView getSuccessView(ManageCatalogEntryForm form) { ActionURL adminUrl = new ActionURL(PanoramaPublicAdminViewAction.class, getContainer()); return new HtmlView( - DIV("Panorama Public catalog entry settings were saved.", - BR(), - new LinkBuilder("Back to Panorama Public Admin Console").href(adminUrl).build())); + DIV("Panorama Public catalog entry settings were saved.", + BR(), + LinkBuilder.labkeyLink("Back to Panorama Public Admin Console", adminUrl) + ) + ); } @Override @@ -2550,7 +2566,8 @@ public ModelAndView getSuccessView(PublishExperimentForm form) DIV(dataPrivate), DIV(pxdAssigned), BR(), BR(), - new LinkBuilder("Back to Experiment Details").href(returnUrl).build())); + LinkBuilder.labkeyLink("Back to Experiment Details", returnUrl) + )); view.setTitle(getSuccessViewTitle()); return view; @@ -2629,8 +2646,10 @@ private static HtmlView getStartValidationView(@Nullable DOM.Renderable message, if (forSubmit && submitUrl != null) { ActionURL noPxSubmissionUrl = submitUrl.clone().replaceParameter("getPxid", "false"); - componentList.add(DIV(at(style, "margin-bottom:10px;"), "If you do not want a ProteomeXchange ID click the link to ", - new LinkBuilder("Submit without a ProteomeXchange ID").href(noPxSubmissionUrl).build())); + componentList.add(DIV( + at(style, "margin-bottom:10px;"), "If you do not want a ProteomeXchange ID click the link to ", + LinkBuilder.labkeyLink("Submit without a ProteomeXchange ID", noPxSubmissionUrl) + )); } componentList.add(DIV(at(style, "top-bottom:10px;"), new ButtonBuilder("Back to Experiment Details") .href(getViewExperimentDetailsURL(experimentAnnotations.getId(), container)).build())); @@ -2697,7 +2716,7 @@ private static HtmlView getDataValidationIncompleteView(DataValidation dataValid "Data validation with Id " + dataValidation.getId() + " is incomplete.", pipelineJobStatus != null ? SPAN("The status of the pipeline job (Id: " + dataValidation.getJobId() + ") is ", - new LinkBuilder(pipelineJobStatus.getStatus()).href(jobDetailsUrl).build()) + LinkBuilder.labkeyLink(pipelineJobStatus.getStatus(), jobDetailsUrl)) : " The pipeline job (Id: " + dataValidation.getJobId() + ") may have been deleted."), forSubmit, experimentAnnotations, container, null); } @@ -2718,11 +2737,13 @@ private static List getHiddenFolders(List folders, User us private static DOM.Renderable getSubfolderListHtml(Container parent, List children) { - return UL(children.stream() + return UL( + children.stream() .filter(child -> !child.equals(parent)) - .map(child -> LI(new LinkBuilder(parent.getParsedPath().relativize(child.getParsedPath()).toString()) - .href(PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(child)) - .clearClasses()))); + .map(child -> LI( + LinkBuilder.simpleLink(parent.getParsedPath().relativize(child.getParsedPath()).toString(), PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(child)) + )) + ); } private static ButtonBuilder getExcludeSubfoldersButton(ExperimentAnnotations exptAnnotations) @@ -3471,19 +3492,16 @@ private static HtmlView getValidationSummary(Status status, ExperimentAnnotation User createdByUser = UserManager.getUser(validation.getCreatedBy()); ActionURL validationDetailsUrl = getPxValidationStatusUrl(exptAnnotations.getId(), validation.getId(), container); return new HtmlView(TABLE(cl("lk-fields-table"), - displayExperimentTitle ? row("Experiment: ", DIV(exptAnnotations.getTitle(), HtmlString.NBSP, new LinkBuilder("View Details") - .href(getViewExperimentDetailsURL(exptAnnotations.getId(), container)).build())) : HtmlString.EMPTY_STRING, + displayExperimentTitle ? row("Experiment: ", DIV(exptAnnotations.getTitle(), HtmlString.NBSP, LinkBuilder.labkeyLink("View Details", getViewExperimentDetailsURL(exptAnnotations.getId(), container)).build())) : HtmlString.EMPTY_STRING, row("Last Validation Date: ", validation.getFormattedDate()), createdByUser != null ? - row("Created By: ", new LinkBuilder(createdByUser.getDisplayName(user)) - .href(PageFlowUtil.urlProvider(UserUrls.class).getUserDetailsURL(container, createdByUser.getUserId(), null)) - .clearClasses().build()) : + row("Created By: ", LinkBuilder.simpleLink(createdByUser.getDisplayName(user), PageFlowUtil.urlProvider(UserUrls.class).getUserDetailsURL(container, createdByUser.getUserId(), null))) : row("Created By: ", "Unknown User " + validation.getCreatedBy()), row("ProteomeXchange Status:", SPAN(getValidationStatusForSummary(validation, statusFile, exptAnnotations, user), - HtmlString.NBSP, new LinkBuilder("[Details]").href(validationDetailsUrl).build())), + HtmlString.NBSP, LinkBuilder.labkeyLink("[Details]", validationDetailsUrl))), row("Validation Log:", statusFile != null ? - new LinkBuilder("View log").href(PageFlowUtil.urlProvider(PipelineStatusUrls.class) - .urlDetails(container, validation.getJobId())).build() + LinkBuilder.labkeyLink("View log", PageFlowUtil.urlProvider(PipelineStatusUrls.class) + .urlDetails(container, validation.getJobId())) : SPAN("Log file not found for job Id " + validation.getJobId())) )); } @@ -4327,7 +4345,7 @@ public ModelAndView getSuccessView(PxActionsForm form) SPAN("Response from PX server: "), BR(), DIV(at(style, "white-space: pre-wrap;margin:10px 0px 10px 0px;"), _pxResponse), - DIV(new LinkBuilder("Back to folder").href(PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(_expAnnot.getContainer()))))); + DIV(LinkBuilder.labkeyLink("Back to folder", PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(_expAnnot.getContainer()))))); } private PxXml createPxXml(ExperimentAnnotations expAnnot, JournalExperiment je, Submission submission, Status validationStatus, String pxChanageLog, boolean submittingToPx) throws PxException @@ -4837,21 +4855,28 @@ public ModelAndView getView(ExperimentIdForm form, BindException errors) if(_expAnnot.hasDoi()) { return new HtmlView( - DIV(DIV(at(style, "margin-bottom:10px;"), "DOI assigned to the data is " + _expAnnot.getDoi()), - DIV( - new LinkBuilder("Publish DOI").clearClasses().addClass("btn btn-default").href(new ActionURL(PublishDoiAction.class, getContainer()).addParameter("id", _expAnnot.getId())), - SPAN(at(style, "margin:5px;")), - new LinkBuilder("Delete DOI").clearClasses().addClass("btn btn-default").href(new ActionURL(DeleteDoiAction.class, getContainer()).addParameter("id", _expAnnot.getId()))), - updateDoiForm)); - + DIV(DIV( + at(style, "margin-bottom:10px;"), "DOI assigned to the data is " + _expAnnot.getDoi()), + DIV( + LinkBuilder.simpleLink("Publish DOI", new ActionURL(PublishDoiAction.class, getContainer()).addParameter("id", _expAnnot.getId())).addClass("btn btn-default"), + SPAN(at(style, "margin:5px;")), + LinkBuilder.simpleLink("Delete DOI", new ActionURL(DeleteDoiAction.class, getContainer()).addParameter("id", _expAnnot.getId())).addClass("btn btn-default") + ), + updateDoiForm + )); } else { - return new HtmlView( - DIV(DIV(new LinkBuilder("Assign New DOI").clearClasses().addClass("btn btn-default").href(getAssignDoiUrl(_expAnnot, getContainer(), false)), - SPAN(at(style, "margin:5px;")), - new LinkBuilder("Assign New Test DOI").clearClasses().addClass("btn btn-default").href(getAssignDoiUrl(_expAnnot, getContainer(), true))), - updateDoiForm)); + return new HtmlView( + DIV( + DIV( + LinkBuilder.simpleLink("Assign New DOI", getAssignDoiUrl(_expAnnot, getContainer(), false)).addClass("btn btn-default"), + SPAN(at(style, "margin:5px;")), + LinkBuilder.simpleLink("Assign New Test DOI", getAssignDoiUrl(_expAnnot, getContainer(), true)).addClass("btn btn-default") + ), + updateDoiForm + ) + ); } } @@ -4941,9 +4966,14 @@ public boolean handlePost(DoiForm form, BindException errors) public ModelAndView getSuccessView(DoiForm form) { return new HtmlView( - DIV(getSuccessMessage(), - BR(), - DIV(new LinkBuilder("Back to folder").href(PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(_expAnnot.getContainer()))))); + DIV( + getSuccessMessage(), + BR(), + DIV( + LinkBuilder.labkeyLink("Back to folder", PageFlowUtil.urlProvider(ProjectUrls.class).getBeginURL(_expAnnot.getContainer())) + ) + ) + ); } protected abstract DOM.Renderable getSuccessMessage(); @@ -5483,7 +5513,7 @@ public ModelAndView getView(final ViewExperimentAnnotationsForm form, BindExcept if (getViewContext().hasPermission(AdminOperationsPermission.class) && DataValidationManager.getValidationJobCount(exptAnnotations.getId()) > 1) { ActionURL url = new ActionURL(ViewPxValidationsAction.class, getContainer()).addParameter("id", exptAnnotations.getId()); - viewAllLink = new LinkBuilder("View All Validation Jobs").href(url).build(); + viewAllLink = LinkBuilder.labkeyLink("View All Validation Jobs", url).build(); } view.addView(new HtmlView(DIV(at(style, "margin-top:15px;"), getRerunDataValidationButton(exptAnnotations, getContainer()), @@ -5591,7 +5621,9 @@ else if(children.size() > 0) ActionURL url = PanoramaPublicController.getDataValidationCheckUrl(exptAnnotations.getId(), exptAnnotations.getContainer(), true); url.addReturnUrl(getViewExperimentDetailsURL(exptAnnotations.getId(), exptAnnotations.getContainer())); - vBox.addView(new HtmlView(DIV(new LinkBuilder("Validate for ProteomeXchange").href(url).build()))); + vBox.addView(new HtmlView(DIV( + LinkBuilder.labkeyLink("Validate for ProteomeXchange", url) + ))); result.addView(vBox); } @@ -7363,9 +7395,9 @@ private ModelAndView getLibrarySummary(SpecLibForm form, SpectralLibrary library rows.add(getSummaryRow("Name:", library.getName())); rows.add(getSummaryRow("File Name: ", SPAN(library.getFileNameHint(), SPAN(at(style, "margin-left:5px; white-space: nowrap;"), library.getDownloadLink(getUser()))))); - rows.add(getSummaryRow("Skyline Document: ", new LinkBuilder(run.getFileName()) - .href(PageFlowUtil.urlProvider(TargetedMSUrls.class).getShowRunUrl(run.getContainer(), run.getId())) - .clearClasses().build())); + rows.add( + getSummaryRow("Skyline Document: ", LinkBuilder.simpleLink(run.getFileName(), PageFlowUtil.urlProvider(TargetedMSUrls.class).getShowRunUrl(run.getContainer(), run.getId()))) + ); if (specLibInfo != null) { @@ -8213,14 +8245,19 @@ private static HtmlView getModInfoSavedSuccessView(String modificationName, Stri private static HtmlView getModInfoChangedSuccessView(String modificationName, String modificationType, String action, ExperimentAnnotations expAnnotations) { ActionURL exptModsUrl = new ActionURL(ViewExperimentModifications.class, expAnnotations.getContainer()).addParameter("id", expAnnotations.getId()); - HtmlView hView = new HtmlView(DIV(DIV(SPAN("Unimod information for " + (modificationType != null ? modificationType : "") + " modification "), + HtmlView hView = new HtmlView(DIV( + DIV( + SPAN("Unimod information for " + (modificationType != null ? modificationType : "") + " modification "), SPAN(at(style, "font-weight:bold;"), modificationName), - SPAN(" was successfully " + action + ".")), - BR(), - DIV("View all the structural and isotope modifications in the experiment: ", - new ButtonBuilder("View Experiment Modifications").href(exptModsUrl).build()), - DIV(new LinkBuilder("[View Experiment Details]").href(getViewExperimentDetailsURL(expAnnotations.getId(), expAnnotations.getContainer())).build() - ))); + SPAN(" was successfully " + action + ".") + ), + BR(), + DIV("View all the structural and isotope modifications in the experiment: ", + new ButtonBuilder("View Experiment Modifications").href(exptModsUrl).build()), + DIV( + LinkBuilder.labkeyLink("[View Experiment Details]", getViewExperimentDetailsURL(expAnnotations.getId(), expAnnotations.getContainer())) + ) + )); return hView; } diff --git a/panoramapublic/src/org/labkey/panoramapublic/datacite/DataCiteService.java b/panoramapublic/src/org/labkey/panoramapublic/datacite/DataCiteService.java index b57ce7db..1b53cc6e 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/datacite/DataCiteService.java +++ b/panoramapublic/src/org/labkey/panoramapublic/datacite/DataCiteService.java @@ -251,7 +251,7 @@ public static LinkBuilder toLink(@NotNull String doi) { // Display the complete link: https://support.datacite.org/docs/datacite-doi-display-guidelines String url = toUrl(doi); - return new LinkBuilder(url).href(url).rel("noopener noreferrer"); + return LinkBuilder.simpleLink(url, url).rel("noopener noreferrer"); } /** diff --git a/panoramapublic/src/org/labkey/panoramapublic/model/DataLicense.java b/panoramapublic/src/org/labkey/panoramapublic/model/DataLicense.java index c7a3f9a5..786e3250 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/model/DataLicense.java +++ b/panoramapublic/src/org/labkey/panoramapublic/model/DataLicense.java @@ -33,7 +33,7 @@ public String getUrl() public LinkBuilder.Link getDisplayLink() { - return new LinkBuilder(getDisplayName()).href(getUrl()).target("_blank").clearClasses().build(); + return LinkBuilder.simpleLink(getDisplayName(), getUrl()).target("_blank").build(); } public HtmlString getDisplayLinkHtml() diff --git a/panoramapublic/src/org/labkey/panoramapublic/model/speclib/SpectralLibrary.java b/panoramapublic/src/org/labkey/panoramapublic/model/speclib/SpectralLibrary.java index 41ea943f..87770660 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/model/speclib/SpectralLibrary.java +++ b/panoramapublic/src/org/labkey/panoramapublic/model/speclib/SpectralLibrary.java @@ -170,7 +170,7 @@ private void initLibPath(User user) return SPAN(cl("labkey-error"), "Run not found"); } var runUrl = PageFlowUtil.urlProvider(TargetedMSUrls.class).getShowRunUrl(_run.getContainer(), _run.getId()); - return new LinkBuilder(_run.getFileName()).href(runUrl).clearClasses().build(); + return LinkBuilder.simpleLink(_run.getFileName(), runUrl).build(); } public @NotNull DOM.Renderable getViewLibInfoAndDownloadLink(@NotNull User user, @NotNull Map viewSpecLibParams) @@ -184,7 +184,7 @@ private DOM.Renderable getViewLibInfoLink(@NotNull Map viewSpecL var viewSpecLibAction = new ActionURL(PanoramaPublicController.ViewSpecLibAction.class, _run.getContainer()); viewSpecLibAction.addParameter("specLibId", getId()); viewSpecLibParams.forEach(viewSpecLibAction::replaceParameter); - return new LinkBuilder("Library").href(viewSpecLibAction).tooltip("View library details").build(); + return LinkBuilder.labkeyLink("Library", viewSpecLibAction).tooltip("View library details").build(); } @NotNull @@ -203,10 +203,9 @@ public DOM.Renderable getDownloadLink(@NotNull User user) return SPAN( new LinkBuilder().href(webdavUrl).iconCls("fa fa-download").build(), HtmlString.NBSP, - new LinkBuilder(displaySize) - .href(webdavUrl) - .tooltip("Download library file included in the Skyline document") - .clearClasses().build() + LinkBuilder.simpleLink(displaySize, webdavUrl) + .tooltip("Download library file included in the Skyline document") + .build() ); } else diff --git a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/UnimodModification.java b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/UnimodModification.java index 7cca4135..892b8959 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/UnimodModification.java +++ b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/UnimodModification.java @@ -317,10 +317,9 @@ public static LinkBuilder.Link getLink(int unimodId) public static LinkBuilder.Link getLink(int unimodId, boolean clearMargin) { - var link = new LinkBuilder("UNIMOD:" + unimodId) - .href("https://www.unimod.org/modifications_view.php?editid1=" + unimodId) - .target("_blank") - .rel("noopener noreferrer"); + var link = LinkBuilder.labkeyLink("UNIMOD:" + unimodId, "https://www.unimod.org/modifications_view.php?editid1=" + unimodId) + .target("_blank") + .rel("noopener noreferrer"); if (clearMargin) { link = link.style("margin-right:0px;"); diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/ExperimentAnnotationsTableInfo.java b/panoramapublic/src/org/labkey/panoramapublic/query/ExperimentAnnotationsTableInfo.java index cc5562c0..45d926f8 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/ExperimentAnnotationsTableInfo.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/ExperimentAnnotationsTableInfo.java @@ -216,8 +216,8 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) if (accessUrl != null) { - var link = new LinkBuilder("Share") - .clearClasses().addClass("button-small button-small-green") + var link = LinkBuilder.simpleLink("Share") + .addClass("button-small button-small-green") .style("margin:0px 5px 0px 2px;") .onClick("showShareLink(this, " + PageFlowUtil.jsString(accessUrl) + ");return false;"); diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/PeptideMatchesDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/PeptideMatchesDisplayColumnFactory.java index cce9471a..963e08b8 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/PeptideMatchesDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/PeptideMatchesDisplayColumnFactory.java @@ -47,7 +47,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) searchUrl.addParameter("peptideSequence", proteinLabel); searchUrl.addParameter("exactMatch", exactMatch); - out.write(new LinkBuilder(String.valueOf(matches)).href(searchUrl)); + out.write(LinkBuilder.labkeyLink(String.valueOf(matches), searchUrl)); out.write(PageFlowUtil.button("View").href(searchUrl)); } }; diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/ProteinMatchesDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/ProteinMatchesDisplayColumnFactory.java index 32ac6eea..cea68013 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/ProteinMatchesDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/ProteinMatchesDisplayColumnFactory.java @@ -47,7 +47,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) searchUrl.addParameter("proteinLabel", proteinLabel); searchUrl.addParameter("exactMatch", exactMatch); - out.write(new LinkBuilder(String.valueOf(matches)).href(searchUrl)); + out.write(LinkBuilder.labkeyLink(String.valueOf(matches), searchUrl)); out.write(PageFlowUtil.button("View").href(searchUrl)); } }; diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/SmallMoleculesMatchesDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/SmallMoleculesMatchesDisplayColumnFactory.java index 87888eab..0dc1c768 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/SmallMoleculesMatchesDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/SmallMoleculesMatchesDisplayColumnFactory.java @@ -47,7 +47,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) searchUrl.addParameter("smallMolecule", smallMol); searchUrl.addParameter("exactMatch", exactMatch); - out.write(new LinkBuilder(String.valueOf(matches)).href(searchUrl)); + out.write(LinkBuilder.labkeyLink(String.valueOf(matches), searchUrl)); out.write(PageFlowUtil.button("View").href(searchUrl)); } }; diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/SubmissionTableInfo.java b/panoramapublic/src/org/labkey/panoramapublic/query/SubmissionTableInfo.java index c975fe8a..6f8b3127 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/SubmissionTableInfo.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/SubmissionTableInfo.java @@ -12,6 +12,7 @@ import org.labkey.api.query.FieldKey; import org.labkey.api.query.FilteredTable; import org.labkey.api.util.HtmlString; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.writer.HtmlWriter; @@ -164,7 +165,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { // Show the delete link only if the experiment has not yet been copied _url.replaceParameter("id", id); - out.write(PageFlowUtil.link("Delete").href(_url)); + out.write(LinkBuilder.labkeyLink("Delete", _url)); } } }; @@ -204,13 +205,13 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { ActionURL resubmitUrl = PanoramaPublicController.getResubmitExperimentURL(js.getExperimentAnnotationsId(), js.getJournalId(), _container, s.isKeepPrivate(), true /*check if data is valid for PXD. Always do this check on a resubmit.*/); - out.write(PageFlowUtil.link("Resubmit").href(resubmitUrl)); + out.write(LinkBuilder.labkeyLink("Resubmit", resubmitUrl)); } } else { ActionURL ediUrl = PanoramaPublicController.getUpdateSubmissionURL(js.getExperimentAnnotationsId(), js.getJournalId(), _container, s.isKeepPrivate(), true); - out.write(PageFlowUtil.link("Edit").href(ediUrl)); + out.write(LinkBuilder.labkeyLink("Edit", ediUrl)); } } } diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/modification/ModificationDocsDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/modification/ModificationDocsDisplayColumnFactory.java index bca9195e..f65b96bb 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/modification/ModificationDocsDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/modification/ModificationDocsDisplayColumnFactory.java @@ -105,7 +105,7 @@ private List getRuns(Collection runIds, User user) private @NotNull DOM.Renderable runLink(@NotNull ITargetedMSRun run) { var runUrl = PageFlowUtil.urlProvider(TargetedMSUrls.class).getShowRunUrl(run.getContainer(), run.getId()); - return new LinkBuilder(run.getFileName()).href(runUrl).clearClasses().build(); + return LinkBuilder.simpleLink(run.getFileName(), runUrl).build(); } private @NotNull DOM.Renderable peptidesLink(ITargetedMSRun run, Long modId) @@ -114,7 +114,7 @@ private List getRuns(Collection runIds, User user) var peptidesLink = PageFlowUtil.urlProvider(QueryUrls.class).urlExecuteQuery(run.getContainer(), PanoramaPublicSchema.SCHEMA_NAME, query); peptidesLink.addParameter(getRunIdQueryParam(), run.getId()); peptidesLink.addParameter(getModIdQueryParam(), modId); - return new LinkBuilder("[PEPTIDES]").href(peptidesLink).build(); + return LinkBuilder.labkeyLink("[PEPTIDES]", peptidesLink).build(); } public static class StructuralModDocsColumn extends ModificationDocsDisplayColumnFactory diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/modification/UnimodMatchDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/modification/UnimodMatchDisplayColumnFactory.java index f8c9fefa..9944478f 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/modification/UnimodMatchDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/modification/UnimodMatchDisplayColumnFactory.java @@ -70,11 +70,12 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) String deleteLinkText = "Delete Match" + (modInfo.getUnimodInfos().size() > 1 ? "es" : ""); DIV(getAssignedUnimodDetails(modInfo), - SPAN(at(style, "margin-left:8px;"), new LinkBuilder(deleteLinkText) - .href(deleteUrl) - .usePost(String.format("Are you sure you want to delete the saved Unimod information for modification '%s'?", - dbMod != null ? dbMod.getName() : "")) - .build())).appendTo(out); + SPAN(at(style, "margin-left:8px;"), LinkBuilder.labkeyLink(deleteLinkText, deleteUrl) + .usePost(String.format("Are you sure you want to delete the saved Unimod information for modification '%s'?", + dbMod != null ? dbMod.getName() : "")) + .build() + ) + ).appendTo(out); } } else @@ -91,7 +92,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { var url = getMatchToUnimodAction(ctx).addParameter("id", exptId).addParameter("modificationId", modId); url.addCancelURL(ctx.getViewContext().getActionURL()); - var findMatchLink = new LinkBuilder("Find Match").href(url); + var findMatchLink = LinkBuilder.labkeyLink("Find Match", url); DIV(SPAN(at(style, "color: #d70101; font-weight: bold; margin-right:5px;"), "MISSING"), findMatchLink).appendTo(out); } diff --git a/panoramapublic/src/org/labkey/panoramapublic/query/speclib/EditLibInfoDisplayColumnFactory.java b/panoramapublic/src/org/labkey/panoramapublic/query/speclib/EditLibInfoDisplayColumnFactory.java index 0019af9b..6769a09f 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/query/speclib/EditLibInfoDisplayColumnFactory.java +++ b/panoramapublic/src/org/labkey/panoramapublic/query/speclib/EditLibInfoDisplayColumnFactory.java @@ -7,6 +7,7 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; import org.labkey.api.security.permissions.UpdatePermission; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.URLHelper; import org.labkey.api.view.ActionURL; @@ -57,12 +58,12 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) } ActionURL editUrl = PanoramaPublicController.getEditSpecLibInfoURL(experimentAnnotationsId, specLibId, specLibInfoId, ctx.getContainer()); editUrl.addReturnUrl(returnUrl); - out.write(PageFlowUtil.link(specLibInfoId != null ? "Edit" : "Add").href(editUrl)); + out.write(LinkBuilder.labkeyLink(specLibInfoId != null ? "Edit" : "Add", editUrl)); if (specLibInfoId != null) { ActionURL deleteUrl = PanoramaPublicController.getDeleteSpecLibInfoURL(experimentAnnotationsId, specLibInfoId, ctx.getContainer()); deleteUrl.addReturnUrl(returnUrl); - out.write(PageFlowUtil.link("Delete").href(deleteUrl).usePost("Are you sure you want to delete the spectral library information?")); + out.write(LinkBuilder.labkeyLink("Delete", deleteUrl).usePost("Are you sure you want to delete the spectral library information?")); } } } diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/confirmPostMessage.jsp b/panoramapublic/src/org/labkey/panoramapublic/view/confirmPostMessage.jsp index 8075051c..57fae90e 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/confirmPostMessage.jsp +++ b/panoramapublic/src/org/labkey/panoramapublic/view/confirmPostMessage.jsp @@ -15,7 +15,7 @@
This following message will be posted to the support message threads of the selected experiments. - The message below is an example for experiment Id <%=exampleExpAnnot.getId()%> (<%=link(exampleShortUrl, exampleShortUrl).clearClasses()%>). + The message below is an example for experiment Id <%=exampleExpAnnot.getId()%> (<%=simpleLink(exampleShortUrl, exampleShortUrl)%>).
diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/TargetedMSExperimentWebPart.java b/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/TargetedMSExperimentWebPart.java index 4df65982..9b81b1ce 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/TargetedMSExperimentWebPart.java +++ b/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/TargetedMSExperimentWebPart.java @@ -64,9 +64,10 @@ public TargetedMSExperimentWebPart(ExperimentAnnotations expAnnotations, ViewCon HtmlView view = new HtmlView(DIV( DIV("This folder does not contain an experiment."), DIV(at(style, "margin-top:20px;"), - new LinkBuilder("Create New Experiment") - .href(new ActionURL(PanoramaPublicController.ShowNewExperimentAnnotationFormAction.class, container)) - .build()))); + LinkBuilder.labkeyLink("Create New Experiment", new ActionURL(PanoramaPublicController.ShowNewExperimentAnnotationFormAction.class, container)) + .build() + ) + )); addView(view); } else if(expAnnotations.getContainer().equals(container)) @@ -116,11 +117,11 @@ else if(expAnnotations.getContainer().equals(container)) { // There is an experiment defined in a parent container that is configured to include subfolders. HtmlView view = new HtmlView(DIV( - DIV("A parent folder contains an experiment that includes data in this folder."), - DIV(at(style, "margin-top: 20px;"), - new LinkBuilder("View Experiment Details") - .href(PanoramaPublicController.getViewExperimentDetailsURL(expAnnotations.getId(), container)) - .build() ) + DIV("A parent folder contains an experiment that includes data in this folder."), + DIV(at(style, "margin-top: 20px;"), + LinkBuilder.labkeyLink("View Experiment Details", PanoramaPublicController.getViewExperimentDetailsURL(expAnnotations.getId(), container)) + .build() + ) )); addView(view); } diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/experimentDetails.jsp b/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/experimentDetails.jsp index 3458eb4f..3844a318 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/experimentDetails.jsp +++ b/panoramapublic/src/org/labkey/panoramapublic/view/expannotations/experimentDetails.jsp @@ -47,6 +47,7 @@ <%@ page import="org.labkey.panoramapublic.query.JournalManager" %> <%@ page import="org.labkey.panoramapublic.view.publish.CatalogEntryWebPart" %> <%@ page import="java.text.SimpleDateFormat" %> +<%@ page import="org.labkey.api.util.LinkBuilder" %> <%@ page extends="org.labkey.api.jsp.JspBase" %> <%! @@ -264,13 +265,13 @@
<%if(canPublish && !journalCopyPending){%> - <%=link(publishButtonText, publishUrl).clearClasses().addClass("button-small").addClass("button-small-red")%> + <%=simpleLink(publishButtonText, publishUrl).addClass("button-small").addClass("button-small-red")%> <%}%> <% if (annotDetails.canAddPublishLink(getUser())) { %> - <%=link(annotDetails.getPublishButtonText(), new ActionURL(PanoramaPublicController.MakePublicAction.class,getContainer()) + <%=simpleLink(annotDetails.getPublishButtonText(), new ActionURL(PanoramaPublicController.MakePublicAction.class,getContainer()) .addParameter("id", annot.getId())) - .clearClasses().addClass("button-small button-small-red") + .addClass("button-small button-small-red") .style("margin:0px 5px 0px 2px;")%> <% } %> <%if(canEdit){%> @@ -292,7 +293,7 @@ diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/publish/dataDownloadInfo.jsp b/panoramapublic/src/org/labkey/panoramapublic/view/publish/dataDownloadInfo.jsp index 5e254844..878b9c42 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/publish/dataDownloadInfo.jsp +++ b/panoramapublic/src/org/labkey/panoramapublic/view/publish/dataDownloadInfo.jsp @@ -24,10 +24,10 @@

Select one or more files or folders in the browser above and click the download icon ( ). Data can also be downloaded by mapping this folder as a network drive in Windows Explorer, or by using a - <%=link("WebDAV").href("https://en.wikipedia.org/wiki/WebDAV").clearClasses()%> - client such as <%=link("CyberDuck").href("https://cyberduck.io").clearClasses()%> - or <%=link("WinSCP").href("https://winscp.net/eng/docs/introduction").clearClasses()%>. - For details look at <%=link("Download data from Panorama Public").href(downloadDataDocHref).clearClasses()%>. + <%=simpleLink("WebDAV", "https://en.wikipedia.org/wiki/WebDAV")%> + client such as <%=simpleLink("CyberDuck", "https://cyberduck.io")%> + or <%=simpleLink("WinSCP", "https://winscp.net/eng/docs/introduction")%>. + For details look at <%=simpleLink("Download data from Panorama Public", downloadDataDocHref)%>. Use the following URL, login email and password to connect to this folder:

diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/publish/publicationDetails.jsp b/panoramapublic/src/org/labkey/panoramapublic/view/publish/publicationDetails.jsp index aede21ec..5f58a110 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/publish/publicationDetails.jsp +++ b/panoramapublic/src/org/labkey/panoramapublic/view/publish/publicationDetails.jsp @@ -26,7 +26,7 @@

- +
Title: <%=h(bean.getExperimentTitle())%>
Permanent Link: <%=link(bean.getAccessUrl(), bean.getAccessUrl()).clearClasses().build()%>
Permanent Link: <%=simpleLink(bean.getAccessUrl(), bean.getAccessUrl()).build()%>
diff --git a/panoramapublic/src/org/labkey/panoramapublic/view/publish/pxValidationRunning.jsp b/panoramapublic/src/org/labkey/panoramapublic/view/publish/pxValidationRunning.jsp index c924f9dd..119fd899 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/view/publish/pxValidationRunning.jsp +++ b/panoramapublic/src/org/labkey/panoramapublic/view/publish/pxValidationRunning.jsp @@ -118,8 +118,8 @@ if (jobStatusLc === "error") { onPageLoadMsgDiv.innerHTML = "There were errors while running the validation job. Please " + - '<%=link("view the validation log", jobLogHref) - .clearClasses().addClass("alert-link")%>' + " for details."; + '<%=simpleLink("view the validation log", jobLogHref) + .addClass("alert-link")%>' + " for details."; onPageLoadMsgDiv.classList.add('alert', 'alert-warning', 'labkey-error'); } } diff --git a/pwebdashboard/src/org/labkey/pwebdashboard/ProjectAdminsTable.java b/pwebdashboard/src/org/labkey/pwebdashboard/ProjectAdminsTable.java index 8b3fdba2..471a65ef 100644 --- a/pwebdashboard/src/org/labkey/pwebdashboard/ProjectAdminsTable.java +++ b/pwebdashboard/src/org/labkey/pwebdashboard/ProjectAdminsTable.java @@ -218,7 +218,7 @@ else if (pType.equals(PrincipalType.GROUP)) private HtmlString getUserDetails(Container container, UserPrincipal member) { ActionURL url = PageFlowUtil.urlProvider(UserUrls.class).getUserDetailsURL(container, member.getUserId(), null); - return new LinkBuilder(member.getName()).href(url).clearClasses().build().getHtmlString(); + return LinkBuilder.simpleLink(member.getName(), url).build().getHtmlString(); } @Override diff --git a/testresults/src/org/labkey/testresults/view/rundown.jsp b/testresults/src/org/labkey/testresults/view/rundown.jsp index cd91931d..45a30b03 100644 --- a/testresults/src/org/labkey/testresults/view/rundown.jsp +++ b/testresults/src/org/labkey/testresults/view/rundown.jsp @@ -273,7 +273,7 @@ <% for (String test : problems.getTestNames()) { %> - <%=link(test).href(new ActionURL(TestResultsController.ShowFailures.class, c).addParameter("end", df.format(selectedDate)).addParameter("failedTest", test)).target("_blank").clearClasses()%> + <%=simpleLink(test, new ActionURL(TestResultsController.ShowFailures.class, c).addParameter("end", df.format(selectedDate)).addParameter("failedTest", test)).target("_blank")%> <% for (RunDetail run : problemRuns) { %> @@ -397,12 +397,12 @@ <%= - link(entry.getKey()).href(new ActionURL(TestResultsController.ShowFailures.class, c) + simpleLink(entry.getKey(), new ActionURL(TestResultsController.ShowFailures.class, c) .addParameter("viewType", viewType) .addParameter("end", df.format(selectedDate)) .addParameter("failedTest", entry.getKey()) .addParameter("problemType", "leaks") - ).target("_blank").clearClasses() + ).target("_blank") %> <%=entry.getValue().size()%>