Repository: wicket
Updated Branches:
  refs/heads/master be3ed3d38 -> 9bf1db7d5


WICKET-5314


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

Branch: refs/heads/master
Commit: 9bf1db7d5deaba34b0bfba233976778c0c496555
Parents: be3ed3d
Author: Sven Meier <svenme...@apache.org>
Authored: Fri Feb 13 15:22:20 2015 +0100
Committer: Sven Meier <svenme...@apache.org>
Committed: Fri Feb 13 15:22:20 2015 +0100

----------------------------------------------------------------------
 .../autocomplete/AutoCompleteTextField.java     | 13 +++++++
 .../html/autocomplete/wicket-autocomplete.js    | 41 +++++++++++---------
 2 files changed, 36 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/9bf1db7d/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
index b31bff3..79b86ea 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
@@ -19,6 +19,7 @@ package 
org.apache.wicket.extensions.ajax.markup.html.autocomplete;
 import java.util.Iterator;
 
 import org.apache.wicket.ConverterLocator;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.form.TextField;
@@ -233,9 +234,21 @@ public abstract class AutoCompleteTextField<T> extends 
TextField<T>
                        {
                                return 
AutoCompleteTextField.this.getChoices(input);
                        }
+                       
+                       @Override
+                       protected void 
updateAjaxAttributes(AjaxRequestAttributes attributes)
+                       {
+                               super.updateAjaxAttributes(attributes);
+                               
+                               
AutoCompleteTextField.this.updateAjaxAttributes(attributes);
+                       }
                };
        }
 
+       protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
+       {
+       }
+
        /**
         * Initializes the {@link AutoCompleteBehavior} if it is not already 
there.
         */

http://git-wip-us.apache.org/repos/asf/wicket/blob/9bf1db7d/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
index c5d89fb..0e1e4b9 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
@@ -343,27 +343,32 @@
                function prepareAndExecuteAjaxUpdate(successHandler, 
currentInput){
                        showIndicator();
 
-                       var settings = jQuery.extend(true, {
-                               pre: [ function (attributes) {
-                                       var activeIsInitial = 
(document.activeElement === initialElement);
-                                       var elementVal = 
Wicket.$(elementId).value;
-                                       var hasMinimumLength = 
elementVal.length >= minInputLength;
-                               
-                                       var result = hasMinimumLength && 
activeIsInitial;
-                                       
-                                       if (!result) {
-                                               hideAutoComplete();
-                                       }
+                       var attrs = jQuery.extend({}, ajaxAttributes);
+
+                       attrs.c = undefined;
+
+                       attrs.pre = attrs.pre || [];
+                       attrs.pre.push(function (attributes) {
+                               var activeIsInitial = (document.activeElement 
=== initialElement);
+                               var elementVal = Wicket.$(elementId).value;
+                               var hasMinimumLength = elementVal.length >= 
minInputLength;
+                       
+                               var result = hasMinimumLength && 
activeIsInitial;
                                        
-                                       return result;
-                               }],
-                               ep: {},
-                               sh: [ successHandler ]
-                               }, ajaxAttributes);
+                               if (!result) {
+                                       hideAutoComplete();
+                               }
+                               
+                               return result;
+                       });     
+
+                       attrs.sh = attrs.sh || [];
+                       attrs.sh.push(successHandler);
                                
-                               settings.ep[cfg.parameterName] = currentInput;
+                       attrs.ep = attrs.ep || {};
+                       attrs.ep[cfg.parameterName] = currentInput;
                                
-                               Wicket.Ajax.ajax(settings);
+                       Wicket.Ajax.ajax(attrs);
                }
 
                function showIndicator() {

Reply via email to