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))); } }