You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/02/13 15:22:54 UTC

wicket git commit: WICKET-5314

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 <sv...@apache.org>
Authored: Fri Feb 13 15:22:20 2015 +0100
Committer: Sven Meier <sv...@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() {