You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/02/01 09:40:19 UTC
svn commit: r739715 - in /wicket/trunk/wicket/src:
main/java/org/apache/wicket/ajax/form/
main/java/org/apache/wicket/markup/html/form/
test/java/org/apache/wicket/markup/html/form/
Author: ivaynberg
Date: Sun Feb 1 08:40:19 2009
New Revision: 739715
URL: http://svn.apache.org/viewvc?rev=739715&view=rev
Log:
WICKET-1677
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java Sun Feb 1 08:40:19 2009
@@ -33,6 +33,9 @@
* <p>
* Use the normal {@link AjaxFormChoiceComponentUpdatingBehavior} for the normal single component
* fields
+ * <p>
+ * In order to be supported by this behavior the group components must output children with markup
+ * id in format of 'groupId-childId'
*
* @author jcompagner
*
@@ -67,6 +70,7 @@
asb.append(" for (var i = 0 ; i < inputNodes.length ; i ++) {\n");
asb.append(" var inputNode = inputNodes[i];\n");
asb.append(" if (!inputNode.type) continue;\n");
+ asb.append(" if (!(inputNode.id.indexOf(markupId+'-')===0)) continue;\n");
asb.append(" var inputType = inputNode.type.toLowerCase();\n");
asb.append(" if (inputType == 'checkbox' || inputType == 'radio') {\n");
asb.append(" Wicket.Event.add(inputNode, 'click', callbackScript);\n");
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java Sun Feb 1 08:40:19 2009
@@ -94,6 +94,7 @@
{
super(id, model);
this.group = group;
+ setOutputMarkupId(true);
}
@@ -112,6 +113,32 @@
return "check" + uuid;
}
+ @SuppressWarnings("unchecked")
+ private CheckGroup<T> getGroup()
+ {
+ CheckGroup<T> group = this.group;
+ if (group == null)
+ {
+ group = findParent(CheckGroup.class);
+ if (group == null)
+ {
+ throw new WicketRuntimeException("Check component [" + getPath() +
+ "] cannot find its parent CheckGroup");
+ }
+ }
+ return group;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected void onBeforeRender()
+ {
+ // prefix markup id of this radio with its group's id
+ // this will make it easier to identify all radios that belong to a specific group
+ setMarkupId(getGroup().getMarkupId() + "-" + getMarkupId());
+ super.onBeforeRender();
+ }
+
/**
* @see Component#onComponentTag(ComponentTag)
@@ -128,16 +155,7 @@
checkComponentTag(tag, "input");
checkComponentTagAttribute(tag, "type", "checkbox");
- CheckGroup<?> group = this.group;
- if (group == null)
- {
- group = findParent(CheckGroup.class);
- if (group == null)
- {
- throw new WicketRuntimeException("Check component [" + getPath() +
- "] cannot find its parent CheckGroup");
- }
- }
+ CheckGroup<?> group = getGroup();
final String uuid = getValue();
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java Sun Feb 1 08:40:19 2009
@@ -411,7 +411,7 @@
buffer.append(getPrefix());
String id = getChoiceRenderer().getIdValue(choice, index);
- final String idAttr = getInputName() + "_" + id;
+ final String idAttr = getMarkupId() + "-" + getInputName() + "_" + id;
// Add checkbox element
buffer.append("<input name=\"")
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java Sun Feb 1 08:40:19 2009
@@ -91,6 +91,7 @@
{
super(id, model);
this.group = group;
+ setOutputMarkupId(true);
}
@@ -109,6 +110,34 @@
return "radio" + uuid;
}
+ /** {@inheritDoc} */
+ @Override
+ protected void onBeforeRender()
+ {
+ // prefix markup id of this radio with its group's id
+ // this will make it easier to identify all radios that belong to a specific group
+ setMarkupId(getGroup().getMarkupId() + "-" + getMarkupId());
+ super.onBeforeRender();
+ }
+
+
+ @SuppressWarnings("unchecked")
+ private RadioGroup<T> getGroup()
+ {
+ RadioGroup<T> group = this.group;
+ if (group == null)
+ {
+ group = findParent(RadioGroup.class);
+ if (group == null)
+ {
+ throw new WicketRuntimeException(
+ "Radio component [" +
+ getPath() +
+ "] cannot find its parent RadioGroup. All Radio components must be a child of or below in the hierarchy of a RadioGroup component.");
+ }
+ }
+ return group;
+ }
/**
* @see Component#onComponentTag(ComponentTag)
@@ -127,19 +156,7 @@
final String value = getValue();
- RadioGroup<?> group = this.group;
- if (group == null)
- {
- group = findParent(RadioGroup.class);
- if (group == null)
- {
- throw new WicketRuntimeException(
- "Radio component [" +
- getPath() +
- "] cannot find its parent RadioGroup. All Radio components must be a child of or below in the hierarchy of a RadioGroup component.");
- }
- }
-
+ RadioGroup<?> group = getGroup();
// assign name and value
tag.put("name", group.getInputName());
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java Sun Feb 1 08:40:19 2009
@@ -450,7 +450,7 @@
buffer.append(getPrefix());
String id = getChoiceRenderer().getIdValue(choice, index);
- final String idAttr = getMarkupId() + "_" + id;
+ final String idAttr = getMarkupId() + "-" + id;
boolean enabled = isEnabledInHierarchy() && !isDisabled(choice, index, selected);
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupDisabledTestPage_expected.html Sun Feb 1 08:40:19 2009
@@ -2,11 +2,11 @@
<head><title>CheckGroupTestPage1</title></head>
<body>
<!-- In addition test that chars are not converted from upper to lower and vice versa -->
- <FORM action="?wicket:interface=:0:form::IFormSubmitListener::" wicket:id="form" method="post" id="form1"><div style="display:none"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+ <FORM wicket:id="form" id="form4" method="post" action="?wicket:interface=:0:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
<span wicket:id="group">
- <Input value="check1" type="checkbox" disabled="disabled" wicket:id="check1" checked="checked" name="group">check1</input>
+ <Input type="checkbox" wicket:id="check1" id="group1-check12" name="group" value="check1" checked="checked" disabled="disabled">check1</input>
<span wicket:id="container">
- <input value="check2" type="checkbox" disabled="disabled" wicket:id="check2" checked="checked" name="group">check2</input>
+ <input type="checkbox" wicket:id="check2" id="group1-check23" name="group" value="check2" checked="checked" disabled="disabled">check2</input>
</span>
</span>
</FORM>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage1_expected.html Sun Feb 1 08:40:19 2009
@@ -2,11 +2,11 @@
<head><title>CheckGroupTestPage1</title></head>
<body>
<!-- In addition test that chars are not converted from upper to lower and vice versa -->
- <FORM action="?wicket:interface=:0:form::IFormSubmitListener::" wicket:id="form" method="post" id="form1"><div style="display:none"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+ <FORM wicket:id="form" id="form4" method="post" action="?wicket:interface=:0:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
- <Input value="check1" type="checkbox" wicket:id="check1" name="group">check1</input>
+ <Input type="checkbox" wicket:id="check1" id="group1-check12" name="group" value="check1">check1</input>
<span wicket:id="container">
- <input value="check2" type="checkbox" wicket:id="check2" name="group">check2</input>
+ <input type="checkbox" wicket:id="check2" id="group1-check23" name="group" value="check2">check2</input>
</span>
</FORM>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage2_expected.html Sun Feb 1 08:40:19 2009
@@ -1,11 +1,11 @@
<html>
<head><title>CheckGroupTestPage2</title></head>
<body>
- <form action="?wicket:interface=:1:form::IFormSubmitListener::" wicket:id="form" method="post" id="form2"><div style="display:none"><input type="hidden" name="form2_hf_0" id="form2_hf_0" /></div>
+ <form wicket:id="form" id="form8" method="post" action="?wicket:interface=:1:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form8_hf_0" id="form8_hf_0" /></div>
- <input value="check1" type="checkbox" wicket:id="check1" checked="checked" name="group">check1</input>
+ <input type="checkbox" wicket:id="check1" id="group5-check16" name="group" value="check1" checked="checked">check1</input>
<span wicket:id="container">
- <input value="check2" type="checkbox" wicket:id="check2" name="group">check2</input>
+ <input type="checkbox" wicket:id="check2" id="group5-check27" name="group" value="check2">check2</input>
</span>
</form>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage3_expected.html Sun Feb 1 08:40:19 2009
@@ -1,11 +1,11 @@
<html>
<head><title>CheckGroupTestPage3</title></head>
<body>
- <form action="?wicket:interface=:2:form::IFormSubmitListener::" wicket:id="form" method="post" id="form3"><div style="display:none"><input type="hidden" name="form3_hf_0" id="form3_hf_0" /></div>
+ <form wicket:id="form" id="formc" method="post" action="?wicket:interface=:2:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="formc_hf_0" id="formc_hf_0" /></div>
- <input value="check1" type="checkbox" wicket:id="check1" name="group">check1</input>
+ <input type="checkbox" wicket:id="check1" id="group9-check1a" name="group" value="check1">check1</input>
<span wicket:id="container">
- <input value="check2" type="checkbox" wicket:id="check2" checked="checked" name="group">check2</input>
+ <input type="checkbox" wicket:id="check2" id="group9-check2b" name="group" value="check2" checked="checked">check2</input>
</span>
</form>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/CheckGroupTestPage4_expected.html Sun Feb 1 08:40:19 2009
@@ -1,11 +1,11 @@
<html>
<head><title>CheckGroupTestPage4</title></head>
<body>
- <form action="?wicket:interface=:3:form::IFormSubmitListener::" wicket:id="form" method="post" id="form4"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
+ <form wicket:id="form" id="form10" method="post" action="?wicket:interface=:3:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form10_hf_0" id="form10_hf_0" /></div>
- <input value="check1" type="checkbox" wicket:id="check1" checked="checked" name="group">check1</input>
+ <input type="checkbox" wicket:id="check1" id="groupd-check1e" name="group" value="check1" checked="checked">check1</input>
<span wicket:id="container">
- <input value="check2" type="checkbox" wicket:id="check2" checked="checked" name="group">check2</input>
+ <input type="checkbox" wicket:id="check2" id="groupd-check2f" name="group" value="check2" checked="checked">check2</input>
</span>
</form>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupDisabledTestPage_expected.html Sun Feb 1 08:40:19 2009
@@ -1,11 +1,11 @@
<html>
<head><title>RadioGroupTestPage1</title></head>
<body>
- <form action="?wicket:interface=:0:form::IFormSubmitListener::" wicket:id="form" method="post" id="form1"><div style="display:none"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+ <form wicket:id="form" id="form4" method="post" action="?wicket:interface=:0:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
<span wicket:id="group">
- <input value="radio1" type="radio" disabled="disabled" wicket:id="radio1" name="group">radio1</input>
+ <input type="radio" wicket:id="radio1" id="group1-radio12" name="group" value="radio1" disabled="disabled">radio1</input>
<span wicket:id="container">
- <input value="radio2" type="radio" disabled="disabled" wicket:id="radio2" checked="checked" name="group">radio2</input>
+ <input type="radio" wicket:id="radio2" id="group1-radio23" name="group" value="radio2" checked="checked" disabled="disabled">radio2</input>
</span>
</span>
</form>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage1_expected.html Sun Feb 1 08:40:19 2009
@@ -1,11 +1,11 @@
<html>
<head><title>RadioGroupTestPage1</title></head>
<body>
- <form action="?wicket:interface=:0:form::IFormSubmitListener::" wicket:id="form" method="post" id="form1"><div style="display:none"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+ <form wicket:id="form" id="form4" method="post" action="?wicket:interface=:0:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
- <input value="radio1" type="radio" wicket:id="radio1" name="group">radio1</input>
+ <input type="radio" wicket:id="radio1" id="group1-radio12" name="group" value="radio1">radio1</input>
<span wicket:id="container">
- <input value="radio2" type="radio" wicket:id="radio2" checked="checked" name="group">radio2</input>
+ <input type="radio" wicket:id="radio2" id="group1-radio23" name="group" value="radio2" checked="checked">radio2</input>
</span>
</form>
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html?rev=739715&r1=739714&r2=739715&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/RadioGroupTestPage3_expected.html Sun Feb 1 08:40:19 2009
@@ -1,9 +1,9 @@
<html>
<body>
-<form action="?wicket:interface=:0:form::IFormSubmitListener::" wicket:id="form" method="post" id="form1"><div style="display:none"><input type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+<form wicket:id="form" id="form4" method="post" action="?wicket:interface=:0:form::IFormSubmitListener::"><div style="display:none"><input type="hidden" name="form4_hf_0" id="form4_hf_0" /></div>
- <input value="radio1" type="radio" wicket:id="check1" checked="checked" name="radio">Yes
- <input value="radio2" type="radio" wicket:id="check2" checked="checked" name="radio">No
+ <input wicket:id="check1" type="radio" id="radio1-check12" name="radio" value="radio1" checked="checked">Yes
+ <input wicket:id="check2" type="radio" id="radio1-check23" name="radio" value="radio2" checked="checked">No
</form>
</body>