diff --git a/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java b/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java
index 7468acdd7..7fc218bd8 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("
");
- }
- 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 b0e61d811..2a40c978a 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 d3815e0e5..6b97101a8 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,41 @@ public String getFormFieldName(RenderContext ctx)
@Override
public void renderDetailsCaptionCell(RenderContext ctx, HtmlWriter out, @Nullable String cls)
{
- Writer oldWriter = out.unwrap();
- try
- {
- oldWriter.write("");
- }
- catch (IOException e)
- {
- throw new RuntimeException(e);
- }
+ ).appendTo(out);
}
@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("");
+ SelectBuilder builder = new SelectBuilder()
+ .name(_inputName)
+ .className("form-control negative-bead-input") // used by NegativeBeadPopulation.js
+ .addStyle("width:200px;" + (hidden ? "display:none;" : "display:inline-block;"))
+ .addDataAttribute("analytename", _analyteName); // used by NegativeBeadPopulation.js
if (!hidden)
- {
- oldWriter.write(" ");
- for (String negControlAnalyte : _initNegativeControlAnalytes)
- {
- oldWriter.write("");
- oldWriter.write(PageFlowUtil.filter(negControlAnalyte));
- oldWriter.write(" ");
- }
- }
- oldWriter.write(" ");
+ builder
+ .addOption("")
+ .addOptions(_initNegativeControlAnalytes)
+ .selected(strValue);
+
+ builder.appendTo(out);
}
};
}
diff --git a/luminex/webapp/luminex/NegativeBeadPopulation.js b/luminex/webapp/luminex/NegativeBeadPopulation.js
index 059e1bc7c..99d53bdaa 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 8b7ed8ada..fb7b2ed57 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