Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.Container;
import org.labkey.api.data.ContainerFilter;
import org.labkey.api.data.ContainerForeignKey;
import org.labkey.api.data.ContainerManager;
import org.labkey.api.data.DataColumn;
import org.labkey.api.data.DisplayColumn;
Expand All @@ -36,12 +35,12 @@
import org.labkey.api.query.DetailsURL;
import org.labkey.api.query.FilteredTable;
import org.labkey.api.query.QueryUpdateService;
import org.labkey.api.query.UserIdQueryForeignKey;
import org.labkey.api.security.User;
import org.labkey.api.security.UserPrincipal;
import org.labkey.api.security.permissions.Permission;
import org.labkey.api.security.permissions.PlatformDeveloperPermission;
import org.labkey.api.security.permissions.ReadPermission;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;
Expand Down Expand Up @@ -118,14 +117,14 @@ public DisplayColumn createRenderer(final ColumnInfo colInfo)
DataColumn dc = new DataColumn(colInfo)
{
@Override
public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
{
Object value = getValue(ctx);
Modes m = Modes.fromValue((Integer)value);
if(null != m)
out.write(m.toString());
oldWriter.write(m.toString());
else
out.write(value.toString());
oldWriter.write(value.toString());
}
};

Expand Down
22 changes: 9 additions & 13 deletions api/src/org/labkey/api/assay/AssayDataCollectorDisplayColumn.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,18 @@

package org.labkey.api.assay;

import org.jetbrains.annotations.NotNull;
import org.labkey.api.assay.actions.AssayRunUploadForm;
import org.labkey.api.data.BaseColumnInfo;
import org.labkey.api.data.ColumnInfo;
import org.labkey.api.data.RenderContext;
import org.labkey.api.data.SimpleDisplayColumn;
import org.labkey.api.util.HtmlString;
import org.labkey.api.util.HtmlStringBuilder;
import org.labkey.api.view.HttpView;
import org.labkey.api.view.JspView;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;

/**
* User: jeckels
* Date: Aug 3, 2007
*/
public class AssayDataCollectorDisplayColumn extends SimpleDisplayColumn
{
private final AssayRunUploadForm _form;
Expand All @@ -40,16 +37,15 @@ public AssayDataCollectorDisplayColumn(AssayRunUploadForm form)
{
_form = form;
setCaption("Run Data");
var col = new BaseColumnInfo("Run Data");
var col = new BaseColumnInfo("Run Data");
col.setInputType("file");
_col = col;
}

@Override
public void renderTitle(RenderContext ctx, Writer out) throws IOException
public @NotNull HtmlString getTitle(RenderContext ctx)
{
super.renderTitle(ctx, out);
out.write(" *");
return HtmlStringBuilder.of(super.getTitle(ctx)).append(" *").getHtmlString();
}

@Override
Expand All @@ -65,7 +61,7 @@ public ColumnInfo getColumnInfo()
}

@Override
public void renderInputHtml(RenderContext ctx, Writer out, Object value) throws IOException
public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value)
{
HttpView descriptionView = _form.getProvider().getDataDescriptionView(_form);
JspView view = new JspView<>("/org/labkey/assay/view/dataUpload.jsp", _form);
Expand All @@ -79,7 +75,7 @@ public void renderInputHtml(RenderContext ctx, Writer out, Object value) throws
}
catch (Exception e)
{
throw (IOException)new IOException().initCause(e);
throw new RuntimeException(e);
}
}
}
7 changes: 4 additions & 3 deletions api/src/org/labkey/api/assay/AssayQCFlagColumn.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.Pair;
import org.labkey.api.view.template.ClientDependency;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;
Expand Down Expand Up @@ -87,7 +88,7 @@ public Set<ClientDependency> getClientDependencies()
}

@Override
public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
{
String strValue = (String)getValue(ctx);
if (isNotBlank(strValue))
Expand All @@ -100,11 +101,11 @@ public void renderGridCellContents(RenderContext ctx, Writer out) throws IOExcep
// users with update perm will be able to change enabled state and edit comment, others will only be able to read flag details
Link.LinkBuilder linkBuilder = new Link.LinkBuilder(getCollapsedQCFlagOutput(values, enabled))
.onClick("showQCFlagToggleWindow(" + jsString(_schemaName) + ", " + runId + "," + _editable + "); return false;");
out.write(linkBuilder.toString());
oldWriter.write(linkBuilder.toString());
}
else
{
out.write("&nbsp;");
oldWriter.write("&nbsp;");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,16 @@
import org.labkey.api.data.RenderContext;
import org.labkey.api.data.SimpleDisplayColumn;
import org.labkey.api.view.JspView;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;

/**
* User: jeckels
* Date: Jan 30, 2009
*/
public class BulkPropertiesDisplayColumn extends SimpleDisplayColumn
{
private BulkPropertiesUploadForm _form;
private ColumnInfo _col;
public static final String PROPERTIES_FIELD_NAME = "__bulkProperties";
public static final String ENABLED_FIELD_NAME = "__enableBulkProperties";

private BulkPropertiesUploadForm _form;
private final ColumnInfo _col;

public BulkPropertiesDisplayColumn(BulkPropertiesUploadForm form)
{
_form = form;
Expand All @@ -58,7 +53,7 @@ public ColumnInfo getColumnInfo()
}

@Override
public void renderInputHtml(RenderContext ctx, Writer out, Object value) throws IOException
public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value)
{
JspView<BulkPropertiesUploadForm> view = new JspView<>("/org/labkey/api/assay/bulkPropertiesInput.jsp", _form);
try
Expand All @@ -67,7 +62,7 @@ public void renderInputHtml(RenderContext ctx, Writer out, Object value) throws
}
catch (Exception e)
{
throw (IOException)new IOException().initCause(e);
throw new RuntimeException(e);
}
}
}
76 changes: 42 additions & 34 deletions api/src/org/labkey/api/assay/actions/UploadWizardAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,12 @@
import org.labkey.api.study.publish.StudyPublishService;
import org.labkey.api.util.HtmlString;
import org.labkey.api.util.HtmlStringBuilder;
import org.labkey.api.util.JavaScriptFragment;
import org.labkey.api.util.Link;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.Pair;
import org.labkey.api.util.URLHelper;
import org.labkey.api.util.element.Input;
import org.labkey.api.view.ActionURL;
import org.labkey.api.view.HtmlView;
import org.labkey.api.view.HttpView;
Expand All @@ -92,15 +94,14 @@
import org.labkey.api.view.ViewServlet;
import org.labkey.api.view.template.ClientDependency;
import org.labkey.api.writer.ContainerUser;
import org.labkey.api.writer.HtmlWriter;
import org.springframework.context.MessageSourceResolvable;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;
import org.springframework.web.servlet.ModelAndView;

import java.io.IOException;
import java.io.Writer;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -115,6 +116,7 @@
import static org.labkey.api.util.DOM.BR;
import static org.labkey.api.util.DOM.DIV;
import static org.labkey.api.util.DOM.FONT;
import static org.labkey.api.util.DOM.SCRIPT;
import static org.labkey.api.util.DOM.cl;
import static org.labkey.api.util.DOM.createHtml;

Expand Down Expand Up @@ -898,9 +900,9 @@ public boolean isEditable()
}

@Override
public void renderInputHtml(RenderContext ctx, Writer out, Object value) throws IOException
public void renderInputHtml(RenderContext ctx, HtmlWriter out, Object value)
{
out.write("<input type=\"text\" name=\"" + _inputName + "\" value=\"" + PageFlowUtil.filter(value) + "\">");
out.write(new Input.InputBuilder<>().type("text").name(_inputName).value(value == null ? null : value.toString()));
}

@Override
Expand Down Expand Up @@ -1128,31 +1130,33 @@ public UploadWizardInsertView(DataRegion dataRegion, ViewContext context, BindEx
}

@Override
protected void _renderDataRegion(RenderContext ctx, Writer out) throws IOException
protected void _renderDataRegion(RenderContext ctx, HtmlWriter out)
{
// may want to just put this in a js file and include it in all the wizard pages
out.write("<script type=\"text/javascript\" nonce=\"" + HttpView.currentPageConfig().getScriptNonce() + "\">\n");
out.write("""
function uploadWizard_showPopup(elem, txtTitle, txtMsg)
{
var win = new Ext.Window({
title: txtTitle,
border: false,
constrain: true,
html: txtMsg,
closeAction:'close',
autoScroll: true,
modal: true,
buttons: [{
text: 'Close',
id: 'btn_cancel',
handler: function(){win.close();}
}]
});
win.show(elem);
}
""");
out.write("</script>\n");
String script ="""
function uploadWizard_showPopup(elem, txtTitle, txtMsg)
{
var win = new Ext.Window({
title: txtTitle,
border: false,
constrain: true,
html: txtMsg,
closeAction:'close',
autoScroll: true,
modal: true,
buttons: [{
text: 'Close',
id: 'btn_cancel',
handler: function(){win.close();}
}]
});
win.show(elem);
}
""";

SCRIPT(
JavaScriptFragment.unsafe(script)
).appendTo(out);

super._renderDataRegion(ctx, out);
}
Expand All @@ -1178,7 +1182,7 @@ public HtmlString getErrors(String paramName)
list = errors.getGlobalErrors();
else
list = errors.getFieldErrors(paramName);
if (list == null || list.size() == 0)
if (list == null || list.isEmpty())
return HtmlString.EMPTY_STRING;

Set<HtmlString> uniqueErrorStrs = new TreeSet<>();
Expand Down Expand Up @@ -1217,12 +1221,16 @@ public HtmlString getErrors(String paramName)
else if (errors != null && "main".equals(paramName) && errors.getFieldError("transform") != null)
{
return createHtml(
DIV(
FONT(cl("labkey-error"),
DIV("Transform Script Error"),
BR(),
DIV(HtmlString.unsafe(errors.getFieldError("transform").getDefaultMessage()))),
BR()));
DIV(
FONT(
cl("labkey-error"),
DIV("Transform Script Error"),
BR(),
DIV(HtmlString.unsafe(errors.getFieldError("transform").getDefaultMessage()))
),
BR()
)
);

}
else
Expand Down
9 changes: 5 additions & 4 deletions api/src/org/labkey/api/audit/data/ExperimentAuditColumn.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import org.labkey.api.util.PageFlowUtil;
import org.labkey.api.util.Pair;
import org.labkey.api.view.ActionURL;
import org.labkey.api.writer.HtmlWriter;

import java.io.IOException;
import java.io.Writer;
Expand Down Expand Up @@ -103,22 +104,22 @@ public boolean isFilterable()
protected abstract String extractFromKey3(RenderContext ctx);

@Override
public void renderGridCellContents(RenderContext ctx, Writer out) throws IOException
public void renderGridCellContents(RenderContext ctx, Writer oldWriter, HtmlWriter out) throws IOException
{
Pair<ObjectType, ActionURL> value = getExpValue(ctx);
if (value != null && value.second != null)
{
out.write("<a href=\"" + value.second.getLocalURIString() + "\">" + PageFlowUtil.filter(value.first.getName()) + "</a>");
oldWriter.write("<a href=\"" + value.second.getLocalURIString() + "\">" + PageFlowUtil.filter(value.first.getName()) + "</a>");
return;
}

if (_defaultName != null)
{
String extracted = extractFromKey3(ctx);
out.write(extracted != null ? PageFlowUtil.filter(extracted) : "&nbsp;");
oldWriter.write(extracted != null ? PageFlowUtil.filter(extracted) : "&nbsp;");
}
else
out.write("&nbsp;");
oldWriter.write("&nbsp;");
}

}
Loading