From 88d63977057ef4a14fe60252b53d328f9f36dd7b Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 15 May 2025 17:43:24 -0700 Subject: [PATCH 1/3] Fix multi-valued input form fields --- .../api/data/MultiValuedDisplayColumn.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java index 4b5a3812e06..c20c1e527b1 100644 --- a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java +++ b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java @@ -18,6 +18,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.DOM; import org.labkey.api.writer.HtmlWriter; import java.util.ArrayList; @@ -28,6 +29,8 @@ import java.util.function.Function; import java.util.stream.Collectors; +import static org.labkey.api.util.DOM.TD; + /** * Wraps any DisplayColumn and causes it to render each value separately. Often used in conjunction with * MultiValuedLookupColumn @@ -209,4 +212,18 @@ public Object getInputValue(RenderContext ctx) { return values(ctx, _column::getInputValue); } + + // This override matches the DisplayColumn.renderInputCell() implementation. It's necessary to cancel out + // DisplayColumnDecorator's override. + @Override + public void renderInputCell(RenderContext ctx, HtmlWriter out) + { + TD( + getInputAttributes(), + (DOM.Renderable) ret -> { + renderInputHtml(ctx, out, getInputValue(ctx)); + return ret; + } + ).appendTo(out); + } } From ce6a748852c375fb564f2b2c769ac4f05e7813af Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Fri, 16 May 2025 10:54:27 -0700 Subject: [PATCH 2/3] Refer to issue in comment --- api/src/org/labkey/api/data/MultiValuedDisplayColumn.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java index c20c1e527b1..63923431091 100644 --- a/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java +++ b/api/src/org/labkey/api/data/MultiValuedDisplayColumn.java @@ -213,8 +213,8 @@ public Object getInputValue(RenderContext ctx) return values(ctx, _column::getInputValue); } - // This override matches the DisplayColumn.renderInputCell() implementation. It's necessary to cancel out - // DisplayColumnDecorator's override. + // Issue 52983: This override matches the DisplayColumn.renderInputCell() implementation. + // It's necessary to cancel out DisplayColumnDecorator's override. @Override public void renderInputCell(RenderContext ctx, HtmlWriter out) { From cce9e7e719455327d872d7f3d96bf0dbe1b3bfda Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Fri, 16 May 2025 10:54:43 -0700 Subject: [PATCH 3/3] AliasDisplayColumnFactory: add space after delimiter --- .../org/labkey/experiment/api/AliasDisplayColumnFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java b/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java index 80667a76bcd..6f78bf7f455 100644 --- a/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java +++ b/experiment/src/org/labkey/experiment/api/AliasDisplayColumnFactory.java @@ -38,7 +38,7 @@ public Object getInputValue(RenderContext ctx) sb.append(delim); sb.append(name); - delim = ","; + delim = ", "; } } }