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&amp;first=foo&amp;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));
        }
 
        /**

Reply via email to