WICKET-5177 (Simple)FormComponentLabel could output "required", "disabled" and "error" classes when its form component has the same
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bc2fa6a0 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bc2fa6a0 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bc2fa6a0 Branch: refs/heads/wicket-4774 Commit: bc2fa6a05f531c21c677cbf839cfbf8815e9a1b1 Parents: e6f539d Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri May 3 09:27:33 2013 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri May 3 09:27:33 2013 +0200 ---------------------------------------------------------------------- .../markup/html/form/FormComponentLabel.java | 26 ++++++++++++++- .../markup/html/form/SimpleFormComponentLabel.java | 3 +- 2 files changed, 27 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/bc2fa6a0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java index e0ff76c..59d34d9 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java @@ -58,8 +58,32 @@ public class FormComponentLabel extends WebMarkupContainer protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); + checkComponentTag(tag, "label"); - tag.put("for", component.getMarkupId()); + + LabeledWebMarkupContainer formComponent = getFormComponent(); + + tag.put("for", formComponent.getMarkupId()); + + if (formComponent instanceof FormComponent<?>) + { + FormComponent<?> fc = (FormComponent<?>) formComponent; + + if (fc.isRequired()) + { + tag.append("class", "required", " "); + } + if (fc.isValid() == false) + { + tag.append("class", "error", " "); + } + } + + if (formComponent.isEnabledInHierarchy() == false) + { + tag.append("class", "disabled", " "); + } + // always transform the tag to <span></span> so even labels defined as <span/> render tag.setType(TagType.OPEN); } http://git-wip-us.apache.org/repos/asf/wicket/blob/bc2fa6a0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java index a2165aa..0155788 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java @@ -21,7 +21,7 @@ import org.apache.wicket.markup.MarkupStream; /** * A form component label that replaces its body with the contents of - * {@link FormComponent#getLabel()} + * {@link LabeledWebMarkupContainer#getLabel() labelProvider's label} * * @author Igor Vaynberg (ivaynberg) */ @@ -58,4 +58,5 @@ public class SimpleFormComponentLabel extends FormComponentLabel { replaceComponentTagBody(markupStream, openTag, getDefaultModelObjectAsString()); } + } \ No newline at end of file
