diff --git a/ehr/api-src/org/labkey/api/ehr/table/VetReviewDisplayColumn.java b/ehr/api-src/org/labkey/api/ehr/table/VetReviewDisplayColumn.java
deleted file mode 100644
index 3b24f4df7..000000000
--- a/ehr/api-src/org/labkey/api/ehr/table/VetReviewDisplayColumn.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.labkey.api.ehr.table;
-
-import org.apache.commons.lang3.StringUtils;
-import org.jetbrains.annotations.NotNull;
-import org.labkey.api.data.ColumnInfo;
-import org.labkey.api.data.DataColumn;
-import org.labkey.api.data.RenderContext;
-import org.labkey.api.util.PageFlowUtil;
-import org.labkey.api.view.HttpView;
-import org.labkey.api.view.template.ClientDependency;
-import org.labkey.api.writer.HtmlWriter;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Collections;
-import java.util.Set;
-
-public class VetReviewDisplayColumn extends DataColumn
-{
- private boolean _clickHandlerRegistered = false;
-
- public VetReviewDisplayColumn(ColumnInfo col)
- {
- super(col);
- }
-
- @Override
- public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
- {
- Object o = getValue(ctx);
- if (o != null)
- {
- String val = o.toString();
- String[] parts = val.split("<:>");
- String delim = "";
- for (String part : parts)
- {
- part = StringUtils.trimToNull(part);
- String[] tokens = part.split("<>");
-
- oldWriter.write(delim);
- delim = "
";
- //String key = StringUtils.trimToNull(tokens[0]);
- String text = StringUtils.trimToNull(tokens[1]);
- if (text != null)
- {
- text = text.replaceAll("\\r?\\n", "
");
- text = text.replaceAll("\\*\\*", "\\*\\*");
- }
-
- oldWriter.write("");
-
- if (!_clickHandlerRegistered)
- {
- HttpView.currentPageConfig().addHandlerForQuerySelector("a.vrdc-row", "click", "EHR.panel.ClinicalManagementPanel.replaceSoap({objectid: this.attributes.getNamedItem('data-objectid').value, scope: this, callback: function(){EHR.panel.ClinicalManagementPanel.updateVetColumn(this, arguments[0], arguments[1]);}});" );
- _clickHandlerRegistered = true;
- }
- oldWriter.write(text);
- oldWriter.write("");
- }
- }
- }
-
- @Override
- public @NotNull Set getClientDependencies()
- {
- return Collections.singleton(ClientDependency.fromPath("ehr/ehr_api.lib.xml"));
- }
-}
diff --git a/ehr/src/org/labkey/ehr/table/DefaultEHRCustomizer.java b/ehr/src/org/labkey/ehr/table/DefaultEHRCustomizer.java
index d34904a73..a7a9f96f2 100644
--- a/ehr/src/org/labkey/ehr/table/DefaultEHRCustomizer.java
+++ b/ehr/src/org/labkey/ehr/table/DefaultEHRCustomizer.java
@@ -64,7 +64,6 @@
import org.labkey.api.study.DatasetTable;
import org.labkey.api.study.Study;
import org.labkey.api.study.StudyService;
-import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.logging.LogHelper;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.NavTree;
@@ -73,13 +72,10 @@
import org.labkey.ehr.EHRModule;
import org.labkey.ehr.EHRSchema;
-import java.io.IOException;
-import java.io.Writer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
-import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
@@ -87,11 +83,12 @@
import java.util.Map;
import java.util.Set;
-/**
- * User: bimber
- * Date: 12/7/12
- * Time: 2:29 PM
- */
+import static org.labkey.api.util.DOM.A;
+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;
+import static org.labkey.api.util.DOM.cl;
+
public class DefaultEHRCustomizer extends AbstractTableCustomizer
{
public static final String ID_COL = "Id";
@@ -825,13 +822,18 @@ public DisplayColumn createRenderer(final 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)
{
- Object objectid = ctx.get("objectid");
- Date date = (Date) ctx.get("date");
Object id = ctx.get(ID_COL);
- oldWriter.write("[Show Hx]");
+ SPAN(
+ at(style, "white-space:nowrap"),
+ A(
+ cl("labkey-text-link anm-history").data("id", id),
+ "[Show Hx]"
+ )
+ ).appendTo(out);
+
if (!_clickHandlerAdded)
{
HttpView.currentPageConfig().addHandlerForQuerySelector("a.anm-history", "click", "EHR.window.ClinicalHistoryWindow.showClinicalHistory(null , this.attributes.getNamedItem('data-id').value, null, this);");
diff --git a/ehr/src/org/labkey/ehr/table/SNOMEDCodesDisplayColumn.java b/ehr/src/org/labkey/ehr/table/SNOMEDCodesDisplayColumn.java
index 74ea79c3c..99bc92713 100644
--- a/ehr/src/org/labkey/ehr/table/SNOMEDCodesDisplayColumn.java
+++ b/ehr/src/org/labkey/ehr/table/SNOMEDCodesDisplayColumn.java
@@ -16,28 +16,24 @@
package org.labkey.ehr.table;
import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
+import org.labkey.api.collections.LabKeyCollectors;
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.DataColumn;
import org.labkey.api.data.RenderContext;
import org.labkey.api.query.FieldKey;
+import org.labkey.api.util.HtmlString;
+import org.labkey.api.util.HtmlStringBuilder;
import org.labkey.api.view.template.ClientDependency;
import org.labkey.api.writer.HtmlWriter;
-import java.io.IOException;
-import java.io.Writer;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
-/**
- * User: bimber
- * Date: 10/23/13
- * Time: 3:49 PM
- */
public class SNOMEDCodesDisplayColumn extends DataColumn
{
private static final Logger _log = LogManager.getLogger(SNOMEDCodesDisplayColumn.class);
@@ -48,17 +44,17 @@ public SNOMEDCodesDisplayColumn(ColumnInfo col)
}
@Override
- public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
+ public void renderGridCellContents(RenderContext ctx, HtmlWriter out)
{
Object o = getValue(ctx);
if (o != null)
{
String val = o.toString();
String[] parts = val.split("\\n");
- Map ret = new TreeMap<>();
+ Map ret = new TreeMap<>();
for (String part : parts)
{
- part = StringUtils.trimToNull(part);
+ part = StringUtils.trimToEmpty(part);
String[] tokens = part.split(": ");
if (tokens.length == 2 && StringUtils.trimToNull(tokens[0]) != null)
{
@@ -66,30 +62,23 @@ public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWrit
if (ret.containsKey(sort))
{
Object objectid = ctx.get(FieldKey.fromString("objectid"));
- _log.error("Duplicate sort for snomed: " + sort + (objectid == null ? "" : ". objectid: " + objectid));
- ret.put(sort, ret.get(sort) + "
" + part);
+ _log.error("Duplicate sort for snomed: {}{}", sort, objectid == null ? "" : ". objectid: " + objectid);
+ ret.get(sort).append(HtmlString.BR).append(part);
}
else
{
- ret.put(sort, part);
+ ret.put(sort, HtmlStringBuilder.of(part));
}
-
}
else
{
- _log.error("Invalid SNOMED string: " + val);
+ _log.error("Invalid SNOMED string: {}", val);
}
}
- String text;
- String delim = "";
- for (Integer sort : ret.keySet())
- {
- text = ret.get(sort).replaceAll("\\r?\\n", "
");
- oldWriter.write(delim);
- delim = "
";
- oldWriter.write(text);
- }
+ out.write(ret.values().stream()
+ .map(HtmlStringBuilder::getHtmlString)
+ .collect(LabKeyCollectors.joining(HtmlString.BR)));
}
}