Updated Branches:
  refs/heads/master 1b9801afe -> 5cb09312c

WICKET-4641 AjaxFallbackLink and log a warning when there are several ajax 
event behaviors on the same event

Allow AjaxFallbackButton to be used only with <input> or <button>.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5cb09312
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5cb09312
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5cb09312

Branch: refs/heads/master
Commit: 5cb09312ccba623614bf1978125290316d21e748
Parents: 1b9801a
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Fri Jul 27 18:25:37 2012 +0300
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Fri Jul 27 18:25:37 2012 +0300

----------------------------------------------------------------------
 .../ajax/markup/html/form/AjaxFallbackButton.java  |   17 +++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5cb09312/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
index ab0659e..ba7fdb0 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
@@ -21,6 +21,7 @@ import org.apache.wicket.ajax.AjaxChannel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
+import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.form.Button;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.model.IModel;
@@ -204,4 +205,20 @@ public abstract class AjaxFallbackButton extends Button
        {
                return isEnabledInHierarchy();
        }
+
+       @Override
+       protected void onComponentTag(ComponentTag tag)
+       {
+               String tagName = tag.getName();
+               if (!("input".equalsIgnoreCase(tagName) || 
"button".equalsIgnoreCase(tagName)))
+               {
+                       String msg = String.format("%s must be used only with 
<input type=\"submit\"> or <input type=\"submit\"> markup elements. " +
+                                       "The fallback functionality doesn't 
work for other markup elements. " +
+                                       "Component path: %s, markup element: 
<%s>.",
+                                       
AjaxFallbackButton.class.getSimpleName(), getClassRelativePath(), tagName);
+                       findMarkupStream().throwMarkupException(msg);
+               }
+
+               super.onComponentTag(tag);
+       }
 }

Reply via email to