From c1ad5ce00da8d5d2aca938b394b33b4191e1d31e Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 20 Mar 2025 16:20:29 -0700 Subject: [PATCH 1/2] Migrate remaining renderInputHtml() overrides --- .../luminex/LuminexUploadWizardAction.java | 29 ++---- .../AnalytePropStandardsDisplayColumn.java | 21 ++-- .../NegativeBeadDisplayColumnFactory.java | 99 +++++++++++-------- .../webapp/luminex/NegativeBeadPopulation.js | 4 +- .../viability/data/MultiValueInputColumn.java | 48 ++++----- 5 files changed, 102 insertions(+), 99 deletions(-) diff --git a/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java b/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java index 7468acdd7a..7fc218bd8e 100644 --- a/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java +++ b/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java @@ -91,6 +91,7 @@ import static org.labkey.api.util.DOM.Attribute.style; import static org.labkey.api.util.DOM.TD; import static org.labkey.api.util.DOM.at; +import static org.labkey.api.util.DOM.cl; /** * Adds Analyte Properties as third wizard step, handles analyte and titration definition input view UI and post, saves @@ -435,10 +436,9 @@ public void writeSameCheckboxCell(RenderContext ctx, HtmlWriter out) String id = groupName + "CheckBox"; TD( - at(style, "display:" + (hideCell ? "none" : "table-cell")). - name(titrationCellName), - new Input.InputBuilder<>().type("checkbox").name(id).id(id) - + at(style, "display:" + (hideCell ? "none" : "table-cell")). + name(titrationCellName), + new Input.InputBuilder<>().type("checkbox").name(id).id(id) ).appendTo(out); StringBuilder onchange = new StringBuilder("b = this.checked;"); @@ -579,22 +579,13 @@ public HtmlString getTitle(RenderContext ctx) @Override public void renderDetailsCaptionCell(RenderContext ctx, HtmlWriter out, @Nullable String cls) { - Writer oldWriter = out.unwrap(); - - try - { - oldWriter.write(""); - - oldWriter.write(getTitle(ctx).toString()); - String sb = "Type: " + getBoundColumn().getFriendlyTypeName() + "\n"; - PageFlowUtil.popupHelp(HtmlString.of(sb), displayName).appendTo(oldWriter); + String sb = "Type: " + getBoundColumn().getFriendlyTypeName() + "\n"; - oldWriter.write(""); - } - catch (IOException e) - { - throw new RuntimeException(e); - } + TD( + cl("control-header-label"), + getTitle(ctx), + PageFlowUtil.popupHelp(HtmlString.of(sb), displayName) + ).appendTo(out); } }; } diff --git a/luminex/src/org/labkey/luminex/query/AnalytePropStandardsDisplayColumn.java b/luminex/src/org/labkey/luminex/query/AnalytePropStandardsDisplayColumn.java index b0e61d811c..2a40c978a9 100644 --- a/luminex/src/org/labkey/luminex/query/AnalytePropStandardsDisplayColumn.java +++ b/luminex/src/org/labkey/luminex/query/AnalytePropStandardsDisplayColumn.java @@ -37,7 +37,9 @@ 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.TD; import static org.labkey.api.util.DOM.at; +import static org.labkey.api.util.DOM.cl; public class AnalytePropStandardsDisplayColumn extends SimpleDisplayColumn { @@ -129,19 +131,12 @@ public DOM._Attributes getInputAttributes() @Override public void renderDetailsCaptionCell(RenderContext ctx, HtmlWriter out, @Nullable String cls) { - String titrationCellName = PageFlowUtil.filter(LuminexUploadWizardAction.getTitrationColumnCellName(_titration.getName())); - Writer oldWriter = out.unwrap(); - try - { - oldWriter.write(""); - oldWriter.write(getTitle(ctx).toString()); - oldWriter.write(""); - } - catch (IOException e) - { - throw new RuntimeException(e); - } + String titrationCellName = LuminexUploadWizardAction.getTitrationColumnCellName(_titration.getName()); + + TD( + cl(cls).at(style, "display:" + (_hideCell ? "none" : "table-cell") + ";").name(titrationCellName), + getTitle(ctx) + ).appendTo(out); } @Override diff --git a/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java b/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java index d3815e0e5b..b6ce404181 100644 --- a/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java +++ b/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java @@ -28,14 +28,15 @@ import org.labkey.api.util.HtmlStringBuilder; import org.labkey.api.util.JavaScriptFragment; import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.util.element.Select.SelectBuilder; import org.labkey.api.writer.HtmlWriter; import org.labkey.luminex.LuminexDataHandler; -import java.io.IOException; -import java.io.Writer; import java.util.Set; import static org.labkey.api.util.DOM.SCRIPT; +import static org.labkey.api.util.DOM.TD; +import static org.labkey.api.util.DOM.cl; public class NegativeBeadDisplayColumnFactory implements DisplayColumnFactory { @@ -80,54 +81,70 @@ public String getFormFieldName(RenderContext ctx) @Override public void renderDetailsCaptionCell(RenderContext ctx, HtmlWriter out, @Nullable String cls) { - Writer oldWriter = out.unwrap(); - try - { - oldWriter.write(""); - - oldWriter.write(getTitle(ctx).toString()); - StringBuilder sb = new StringBuilder(); - sb.append("The analyte to use in the FI-Bkgd-Neg transform script calculation. Available options are " + - "those selected as Negative Control analytes.\n\n"); - sb.append("Type: ").append(getBoundColumn().getFriendlyTypeName()).append("\n"); - PageFlowUtil.popupHelp(HtmlString.of(sb), _displayName).appendTo(oldWriter); - - oldWriter.write(""); - } - catch (IOException e) - { - throw new RuntimeException(e); - } + HtmlStringBuilder builder = HtmlStringBuilder.of(""" + The analyte to use in the FI-Bkgd-Neg transform script calculation. Available options are \ + those selected as Negative Control analytes. + """) + .append("Type: ") + .append(getBoundColumn().getFriendlyTypeName()) + .append("\n"); + + TD( + cl("control-header-label"), + getTitle(ctx), + PageFlowUtil.popupHelp(builder, _displayName) + + ).appendTo(out); + +// Writer oldWriter = out.unwrap(); +// try +// { +// oldWriter.write(""); +// +// oldWriter.write(getTitle(ctx).toString()); +// StringBuilder sb = new StringBuilder(); +// sb.append(""" +// The analyte to use in the FI-Bkgd-Neg transform script calculation. Available options are \ +// those selected as Negative Control analytes. +// """); +// sb.append("Type: ").append(getBoundColumn().getFriendlyTypeName()).append("\n"); +// PageFlowUtil.popupHelp(HtmlString.of(sb), _displayName).appendTo(oldWriter); +// +// oldWriter.write(""); +// } +// catch (IOException e) +// { +// throw new RuntimeException(e); +// } } @Override - public void renderInputHtml(RenderContext ctx, Writer oldWriter, HtmlWriter out, Object value) throws IOException + public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value) { String strValue = ConvertUtils.convert(value); boolean hidden = _initNegativeControlAnalytes.contains(_analyteName); - oldWriter.write(""); if (!hidden) - { - oldWriter.write(""); - for (String negControlAnalyte : _initNegativeControlAnalytes) - { - oldWriter.write(""); - } - } - oldWriter.write(""); + builder + .addOption("") + .addOptions(_initNegativeControlAnalytes) + .selected(strValue); + + builder.appendTo(out); +// oldWriter.write(""); } }; } diff --git a/luminex/webapp/luminex/NegativeBeadPopulation.js b/luminex/webapp/luminex/NegativeBeadPopulation.js index 059e1bc7cb..99d53bdaaa 100644 --- a/luminex/webapp/luminex/NegativeBeadPopulation.js +++ b/luminex/webapp/luminex/NegativeBeadPopulation.js @@ -27,7 +27,7 @@ function getAnalyteSelectedNegativeControls() { var negControlEl = getAnalyteNegativeControlEl(negBeadEls[i].name); if (negControlEl != null && negControlEl.checked) - negControlAnalytes.push(negBeadEls[i].getAttribute("analytename")); + negControlAnalytes.push(negBeadEls[i].getAttribute("data-analytename")); } return negControlAnalytes.sort(); } @@ -69,7 +69,7 @@ function updateAnalyteNegativeBeadInputs() { var negBeadEl = negBeadEls[i]; var prevValue = negBeadEl.value; - var analyteName = negBeadEl.getAttribute("analytename"); + var analyteName = negBeadEl.getAttribute("data-analytename"); var hidden = negControlAnalytes.indexOf(analyteName) > -1; negBeadEl.value = null; diff --git a/viability/src/org/labkey/viability/data/MultiValueInputColumn.java b/viability/src/org/labkey/viability/data/MultiValueInputColumn.java index 8b7ed8ada8..fb7b2ed577 100644 --- a/viability/src/org/labkey/viability/data/MultiValueInputColumn.java +++ b/viability/src/org/labkey/viability/data/MultiValueInputColumn.java @@ -19,21 +19,19 @@ import org.labkey.api.data.ColumnInfo; import org.labkey.api.data.DataColumn; import org.labkey.api.data.RenderContext; +import org.labkey.api.util.JavaScriptFragment; import org.labkey.api.util.PageFlowUtil; -import org.labkey.api.view.HttpView; import org.labkey.api.writer.HtmlWriter; -import java.io.Writer; -import java.io.IOException; import java.util.List; -/** - * User: kevink - * Date: Sep 19, 2009 - */ +import static org.labkey.api.util.DOM.DIV; +import static org.labkey.api.util.DOM.SCRIPT; +import static org.labkey.api.util.DOM.id; + public class MultiValueInputColumn extends DataColumn { - private List _values; + private final List _values; public MultiValueInputColumn(ColumnInfo col, List values) { @@ -42,34 +40,36 @@ public MultiValueInputColumn(ColumnInfo col, List values) } @Override - public void renderInputHtml(RenderContext ctx, Writer oldWriter, HtmlWriter out, Object value) throws IOException + public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value) { - String id = ctx.getForm().getFormFieldName(getColumnInfo()); + String colId = ctx.getForm().getFormFieldName(getColumnInfo()); - oldWriter.write("
"); - oldWriter.write("\n"); + script.append(");\n});\n"); + + SCRIPT( + JavaScriptFragment.unsafe(script.toString()) + ).appendTo(out); } @Override From 65c31bb7d051c441d2c85f22af7aa3027b4df72e Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 21 Mar 2025 00:30:43 -0700 Subject: [PATCH 2/2] Remove commented out code --- .../NegativeBeadDisplayColumnFactory.java | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java b/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java index b6ce404181..6b97101a8e 100644 --- a/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java +++ b/luminex/src/org/labkey/luminex/query/NegativeBeadDisplayColumnFactory.java @@ -95,27 +95,6 @@ public void renderDetailsCaptionCell(RenderContext ctx, HtmlWriter out, @Nullabl PageFlowUtil.popupHelp(builder, _displayName) ).appendTo(out); - -// Writer oldWriter = out.unwrap(); -// try -// { -// oldWriter.write(""); -// -// oldWriter.write(getTitle(ctx).toString()); -// StringBuilder sb = new StringBuilder(); -// sb.append(""" -// The analyte to use in the FI-Bkgd-Neg transform script calculation. Available options are \ -// those selected as Negative Control analytes. -// """); -// sb.append("Type: ").append(getBoundColumn().getFriendlyTypeName()).append("\n"); -// PageFlowUtil.popupHelp(HtmlString.of(sb), _displayName).appendTo(oldWriter); -// -// oldWriter.write(""); -// } -// catch (IOException e) -// { -// throw new RuntimeException(e); -// } } @Override @@ -130,13 +109,6 @@ public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value) .addStyle("width:200px;" + (hidden ? "display:none;" : "display:inline-block;")) .addDataAttribute("analytename", _analyteName); // used by NegativeBeadPopulation.js - -//// oldWriter.write(""); } }; }