diff --git a/src/org/labkey/targetedms/TargetedMSSchema.java b/src/org/labkey/targetedms/TargetedMSSchema.java index 968f72d9d..0d0b3b36e 100644 --- a/src/org/labkey/targetedms/TargetedMSSchema.java +++ b/src/org/labkey/targetedms/TargetedMSSchema.java @@ -118,8 +118,6 @@ import org.springframework.validation.BindException; import org.springframework.web.servlet.mvc.Controller; -import java.io.IOException; -import java.io.Writer; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; @@ -135,6 +133,8 @@ import java.util.function.Consumer; import java.util.stream.Collectors; +import static org.labkey.api.util.DOM.EM; + public class TargetedMSSchema extends UserSchema { public static final String SCHEMA_NAME = "targetedms"; @@ -805,7 +805,6 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) { return new DataColumn(colInfo) { - @Override public @NotNull Set getClientDependencies() { @@ -815,7 +814,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) } @Override - public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Long runId = ctx.get(this.getColumnInfo().getFieldKey(), Long.class); if (runId != null) @@ -825,11 +824,11 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit if(run != null) { PopupMenu menu = TargetedMSController.createDownloadMenu(run); - menu.render(oldWriter); + menu.render(out); } else { - oldWriter.write("Not available"); + EM("Not available").appendTo(out); } } } diff --git a/src/org/labkey/targetedms/query/ChromatogramDisplayColumnFactory.java b/src/org/labkey/targetedms/query/ChromatogramDisplayColumnFactory.java index 7a3641a57..523975306 100644 --- a/src/org/labkey/targetedms/query/ChromatogramDisplayColumnFactory.java +++ b/src/org/labkey/targetedms/query/ChromatogramDisplayColumnFactory.java @@ -23,7 +23,6 @@ import org.labkey.api.data.RenderContext; import org.labkey.api.query.FieldKey; import org.labkey.api.util.GUID; -import org.labkey.api.util.PageFlowUtil; import org.labkey.api.view.ActionURL; import org.labkey.api.view.HttpView; import org.labkey.api.writer.HtmlWriter; @@ -31,19 +30,18 @@ import org.labkey.targetedms.view.ChromatogramsDataRegion; import org.springframework.web.servlet.mvc.Controller; -import java.io.IOException; -import java.io.Writer; import java.util.Set; import java.util.function.Consumer; +import static org.labkey.api.util.DOM.A; +import static org.labkey.api.util.DOM.Attribute.alt; +import static org.labkey.api.util.DOM.Attribute.name; +import static org.labkey.api.util.DOM.Attribute.style; +import static org.labkey.api.util.DOM.DIV; +import static org.labkey.api.util.DOM.at; import static org.labkey.targetedms.view.ChromatogramsDataRegion.FRAGMENT_PREFIX; import static org.labkey.targetedms.view.ChromatogramsDataRegion.HIGHLIGHTED_CHROMATOGRAM_PARAMETER_NAME; -/** - * User: vsharma - * Date: 5/3/12 - * Time: 9:10 PM - */ public class ChromatogramDisplayColumnFactory implements DisplayColumnFactory { private final Container _container; @@ -156,8 +154,8 @@ public ChromatogramDisplayColumnFactory(Container container, Type type, @Override public DisplayColumn createRenderer(ColumnInfo colInfo) { - return new DataColumn(colInfo) { - + return new DataColumn(colInfo) + { @Override public boolean isFilterable() { @@ -171,7 +169,7 @@ public boolean isSortable() } @Override - public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Object id = getValue(ctx); // Primary key from the relevant table if(null == id) @@ -204,13 +202,20 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit ChromatogramsDataRegion dataRegion = (ChromatogramsDataRegion)ctx.getCurrentRegion(); - String html = ""; - html += "
" + - "
"; + A(at(name,FRAGMENT_PREFIX + id )).appendTo(out); + DIV( + at( + alt, "Chromatogram " + sampleName, + style, "border: " + (highlight ? "beige" : "white") + " solid 8px; width:" + (_chartWidth + 16) + "px; min-height:" + (_chart_height + 50) + "px" + ).id(domId) + ).appendTo(out); + DIV( + at( + style, "text-align: center" + ).id(domLabelId) + ).appendTo(out); dataRegion.addSVG(chromAction.getLocalURIString(), domId, domLabelId); - oldWriter.write(html); } @Override diff --git a/src/org/labkey/targetedms/query/QCFolderDisplayColumnFactory.java b/src/org/labkey/targetedms/query/QCFolderDisplayColumnFactory.java index 0ffca6ca7..5c558e000 100644 --- a/src/org/labkey/targetedms/query/QCFolderDisplayColumnFactory.java +++ b/src/org/labkey/targetedms/query/QCFolderDisplayColumnFactory.java @@ -9,18 +9,18 @@ import org.labkey.api.security.User; import org.labkey.api.security.permissions.ReadPermission; import org.labkey.api.targetedms.TargetedMSService; -import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.util.LinkBuilder; import org.labkey.api.writer.HtmlWriter; import org.labkey.targetedms.TargetedMSManager; import org.labkey.targetedms.TargetedMSModule; import org.labkey.targetedms.TargetedMSRun; -import java.io.IOException; -import java.io.Writer; import java.util.Objects; import java.util.Set; import java.util.TreeSet; +import static org.labkey.api.util.DOM.DIV; + public class QCFolderDisplayColumnFactory implements DisplayColumnFactory { public QCFolderDisplayColumnFactory() @@ -33,7 +33,7 @@ public DisplayColumn createRenderer(ColumnInfo colInfo) return new DataColumn(colInfo) { @Override - public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { final User user = ctx.getViewContext().getUser(); String serialNumber = String.valueOf(getBoundColumn().getValue(ctx)); @@ -50,7 +50,6 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit } } }); - StringBuilder sb = new StringBuilder(); qcContainers.forEach(qcContainer -> { var url = qcContainer.getStartURL(user); if (null != currentRunId) @@ -58,14 +57,8 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit url.addParameter("RunId", currentRunId.toString()); } url.addReturnUrl(ctx.getViewContext().getActionURL()); - sb.append("
") - .append(PageFlowUtil.filter(qcContainer.getName())) - .append("
"); + DIV(LinkBuilder.simpleLink(qcContainer.getName(), url)).appendTo(out); }); - oldWriter.write(sb.toString()); } }; } diff --git a/src/org/labkey/targetedms/query/RepresentativeStateDisplayColumn.java b/src/org/labkey/targetedms/query/RepresentativeStateDisplayColumn.java index b70ec610e..35ece783e 100644 --- a/src/org/labkey/targetedms/query/RepresentativeStateDisplayColumn.java +++ b/src/org/labkey/targetedms/query/RepresentativeStateDisplayColumn.java @@ -21,14 +21,10 @@ import org.labkey.api.targetedms.RepresentativeDataState; import org.labkey.api.writer.HtmlWriter; -import java.io.IOException; -import java.io.Writer; +import static org.labkey.api.util.DOM.Attribute.style; +import static org.labkey.api.util.DOM.SPAN; +import static org.labkey.api.util.DOM.at; -/** - * User: vsharma - * Date: 8/5/13 - * Time: 8:32 PM - */ public class RepresentativeStateDisplayColumn extends DataColumn { public RepresentativeStateDisplayColumn (ColumnInfo columnInfo) @@ -37,7 +33,7 @@ public RepresentativeStateDisplayColumn (ColumnInfo columnInfo) } @Override - public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Object representativeState = getValue(ctx); if (representativeState == null) @@ -45,15 +41,21 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit if (RepresentativeDataState.Representative.getLabel().equals(representativeState.toString())) { - oldWriter.write("" + representativeState.toString() + ""); + SPAN( + at(style, "color:green;"), + representativeState.toString() + ).appendTo(out); } else if (RepresentativeDataState.Conflicted.getLabel().equals(representativeState.toString())) { - oldWriter.write("" + representativeState.toString() + ""); + SPAN( + at(style, "color:red;"), + representativeState.toString() + ).appendTo(out); } else { - oldWriter.write(representativeState.toString()); + out.write(representativeState.toString()); } } } diff --git a/src/org/labkey/targetedms/query/SampleFileTable.java b/src/org/labkey/targetedms/query/SampleFileTable.java index 04977f3bd..050177aac 100644 --- a/src/org/labkey/targetedms/query/SampleFileTable.java +++ b/src/org/labkey/targetedms/query/SampleFileTable.java @@ -55,6 +55,7 @@ import org.labkey.api.security.permissions.ReadPermission; import org.labkey.api.targetedms.TargetedMSService; import org.labkey.api.util.ContainerContext; +import org.labkey.api.util.HtmlString; import org.labkey.api.util.PageFlowUtil; import org.labkey.api.util.Pair; import org.labkey.api.view.ActionURL; @@ -80,6 +81,8 @@ import java.util.Map; import java.util.Set; +import static org.labkey.api.util.DOM.EM; + public class SampleFileTable extends TargetedMSTable { @Nullable @@ -352,7 +355,7 @@ public DownloadLinkColumn(ColumnInfo col) } @Override - public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException + public void renderGridCellContents(RenderContext ctx, HtmlWriter out) { Long sampleFileId = ctx.get(this.getColumnInfo().getFieldKey(), Long.class); Container container = ctx.get(_containerFieldKey, Container.class); @@ -370,21 +373,21 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit String size = dataSize != null ? FileUtils.byteCountToDisplaySize(dataSize) : ""; ExpData expData = downloadInfo.getExpData(); String url = expData.getWebDavURL(FileContentService.PathType.full).toString(); - if(!downloadInfo.isFile()) + if (!downloadInfo.isFile()) { int idx = url.lastIndexOf('/'); url = idx != -1 ? url.substring(0, idx) : url; url = url + "?method=zip&depth=-1&file=" + PageFlowUtil.encode(expData.getName()) + "&zipName=" + PageFlowUtil.encode(expData.getName()); } - oldWriter.write(PageFlowUtil.iconLink("fa fa-download", null).href(url).toString()); - oldWriter.write(" "); - oldWriter.write(PageFlowUtil.filter(size)); + out.write(PageFlowUtil.iconLink("fa fa-download", null).href(url)); + out.write(HtmlString.NBSP); + out.write(size); return; } } } - oldWriter.write("Not available"); + EM("Not available").appendTo(out); } @Override