WICKET-6527 make hidden divs stylable via CSS class
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c99a34dc Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c99a34dc Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c99a34dc Branch: refs/heads/master Commit: c99a34dc226756940efc4983105a4032a62eacfa Parents: 57ae17d Author: Sven Meier <svenme...@apache.org> Authored: Thu Feb 22 22:23:19 2018 +0100 Committer: Sven Meier <svenme...@apache.org> Committed: Thu Feb 22 22:23:19 2018 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/wicket/Application.properties | 2 ++ .../java/org/apache/wicket/markup/html/form/Form.java | 13 +++++++++---- .../markup/html/form/FormMethodTestPage_expected.html | 2 +- .../markup/html/form/pageWithParameters_expected.html | 2 +- .../html/repeater/data/table/filter/FilterForm.java | 7 +++++-- 5 files changed, 18 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/c99a34dc/wicket-core/src/main/java/org/apache/wicket/Application.properties ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.properties b/wicket-core/src/main/java/org/apache/wicket/Application.properties index 2c61673..ca23a00 100644 --- a/wicket-core/src/main/java/org/apache/wicket/Application.properties +++ b/wicket-core/src/main/java/org/apache/wicket/Application.properties @@ -85,3 +85,5 @@ OddEvenListItem.CSS.even=even AutoLabel.CSS.required=required AutoLabel.CSS.invalid=error AutoLabel.CSS.disabled=disabled + +Form.CSS.hidden-fields=hidden-fields http://git-wip-us.apache.org/repos/asf/wicket/blob/c99a34dc/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java index a9df65b..709779a 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java @@ -35,6 +35,7 @@ import org.apache.wicket.Page; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.behavior.Behavior; +import org.apache.wicket.core.util.string.CssUtils; import org.apache.wicket.event.IEvent; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupStream; @@ -1194,8 +1195,11 @@ public class Form<T> extends WebMarkupContainer { AppendingStringBuffer buffer = new AppendingStringBuffer(); - getResponse().write("<div style=\"width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden\">"); - + String cssClass = getString(CssUtils.key(Form.class, "hidden-fields")); + + // div that is not visible (but not display:none either) + buffer.append(String.format("<div style=\"width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden\" class=\"%s\">", cssClass)); + // add an empty textfield (otherwise IE doesn't work) buffer.append("<input type=\"text\" tabindex=\"-1\" autocomplete=\"off\"/>"); @@ -1209,7 +1213,6 @@ public class Form<T> extends WebMarkupContainer buffer.append(" />"); getResponse().write("</div>"); - getResponse().write(buffer); } @@ -1672,7 +1675,9 @@ public class Form<T> extends WebMarkupContainer // and have to write the url parameters as hidden fields if (encodeUrlInHiddenFields()) { - getResponse().write(String.format("<div id=\"%s\" style=\"width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden\">", getHiddenFieldsId())); + String cssClass = getString(CssUtils.key(Form.class, "hidden-fields")); + + getResponse().write(String.format("<div id=\"%s\" style=\"width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden\" class=\"%s\">", getHiddenFieldsId(), cssClass)); AppendingStringBuffer buffer = new AppendingStringBuffer(); http://git-wip-us.apache.org/repos/asf/wicket/blob/c99a34dc/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html index 1dac4cc..c7e4191 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMethodTestPage_expected.html @@ -1,6 +1,6 @@ <html> <body> <form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost"></form> - <form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input type="hidden" name="0-1.-formget" value="" /></div></form> + <form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden" class="hidden-fields"><input type="hidden" name="0-1.-formget" value="" /></div></form> </body> </html> http://git-wip-us.apache.org/repos/asf/wicket/blob/c99a34dc/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html index 791508f..75ad75e 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/pageWithParameters_expected.html @@ -1,6 +1,6 @@ <html> <body> <form wicket:id="formpost" id="formpost1" method="post" action="./org.apache.wicket.markup.html.form.FormMethodTestPage?0-1.-formpost&first=foo&second=bar"></form> - <form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden"><input type="hidden" name="0-1.-formget" value="" /><input type="hidden" name="first" value="foo" /><input type="hidden" name="second" value="bar" /></div></form> + <form wicket:id="formget" id="formget2" method="get" action="./org.apache.wicket.markup.html.form.FormMethodTestPage"><div id="formget2_hf_0" style="width:0px;height:0px;position:absolute;left:-100px;top:-100px;overflow:hidden" class="hidden-fields"><input type="hidden" name="0-1.-formget" value="" /><input type="hidden" name="first" value="foo" /><input type="hidden" name="second" value="bar" /></div></form> </body> </html> http://git-wip-us.apache.org/repos/asf/wicket/blob/c99a34dc/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java index 97007e2..ab3537a 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java @@ -18,6 +18,7 @@ package org.apache.wicket.extensions.markup.html.repeater.data.table.filter; import org.apache.wicket.Component; import org.apache.wicket.behavior.Behavior; +import org.apache.wicket.core.util.string.CssUtils; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.head.IHeaderResponse; @@ -87,10 +88,12 @@ public class FilterForm<T> extends Form<T> String id = Strings.escapeMarkup(getFocusTrackerFieldCssId()).toString(); String value = getRequest().getPostParameters().getParameterValue(id).toString(""); + String cssClass = getString(CssUtils.key(Form.class, "hidden-fields")); + getResponse().write( String.format( - "<div style='position: absolute; left: -9999px; width: 1px; height: 1px;'><input type='hidden' name='%s' id='%s' value='%s'/><input type='submit'/></div>", - id, id, Strings.escapeMarkup(value))); + "<div style='position: absolute; left: -9999px; width: 1px; height: 1px;' class='%s'><input type='hidden' name='%s' id='%s' value='%s'/><input type='submit'/></div>", + id, id, Strings.escapeMarkup(value), cssClass)); } /**