You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/08/10 11:03:28 UTC

[1/3] git commit: Minor jQuery-fication of wicket-autocomplete.js

Updated Branches:
  refs/heads/master 5ab44248b -> 1e27973ce


Minor jQuery-fication of wicket-autocomplete.js


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

Branch: refs/heads/master
Commit: 1e27973ce7ea1aa0b7eb2df34e66483bec918bed
Parents: bcc601c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Aug 10 11:57:47 2012 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Aug 10 11:57:47 2012 +0300

----------------------------------------------------------------------
 .../html/autocomplete/wicket-autocomplete.js       |   91 ++++++---------
 1 files changed, 36 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/1e27973c/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 06b18dc..6b58353 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
@@ -23,8 +23,12 @@
 ;(function (undefined) {
 	'use strict';
 
-	if (typeof(Wicket) === "undefined") {
-		Wicket = {};
+	if (!window.Wicket) {
+		window.Wicket = {};
+	}
+
+	if (Wicket.AutoComplete) {
+		return;
 	}
 
 	Wicket.AutoCompleteSettings = {
@@ -101,40 +105,39 @@
 
 			objonchange=obj.onchange;
 
-			Wicket.Event.add(obj, 'blur', function (event) {
-				if(mouseactive===1){
+			Wicket.Event.add(obj, 'blur', function (jqEvent) {
+				if (mouseactive === 1) {
 					ignoreOneFocusGain = true;
 					Wicket.$(elementId).focus();
-					return killEvent(event);
+					return jqEvent.stopPropagation();
 				}
 
-				window.setTimeout( hideAutoComplete, 500);
+				window.setTimeout(hideAutoComplete, 500);
 			});
 
-			Wicket.Event.add(obj, 'focus', function (event) {
-				event = Wicket.Event.fix(event);
-				if (mouseactive===1) {
+			Wicket.Event.add(obj, 'focus', function (jqEvent) {
+				if (mouseactive === 1) {
 					ignoreOneFocusGain = false;
-					return killEvent(event);
+					return jqEvent.stopPropagation();
 				}
-				var input = event.target ? event.target : event.srcElement;
+				var input = jqEvent.target;
 				if (!ignoreOneFocusGain && (cfg.showListOnFocusGain || (cfg.showListOnEmptyInput && (!input.value))) && visible === 0) {
 					getAutocompleteMenu().showingAutocomplete = true;
 					if (cfg.showCompleteListOnFocusGain) {
 						updateChoices(true);
 					} else {
-					updateChoices();
+						updateChoices();
 					}
 				}
 				ignoreOneFocusGain = false;
 
 				if(typeof objonfocus==="function") {
-					return objonfocus.apply(this,[event]);
+					return objonfocus.apply(this,[jqEvent]);
 				}
 			});
 
-			Wicket.Event.add(obj, 'keydown', function(event) {
-				switch(Wicket.Event.keyCode(event)){
+			Wicket.Event.add(obj, 'keydown', function (jqEvent) {
+				switch(Wicket.Event.keyCode(jqEvent)){
 					case KEY_UP:
 						if (selected>-1) {
 							setSelected(selected-1);
@@ -145,11 +148,11 @@
 							render(true, false);
 						}
 						if (Wicket.Browser.isSafari()) {
-							return killEvent(event);
+							return jqEvent.stopPropagation();
 						}
 						break;
 					case KEY_DOWN:
-						if(selected<elementCount-1){
+						if (selected < elementCount-1) {
 							setSelected(selected+1);
 						}
 						if (visible===0) {
@@ -159,13 +162,13 @@
 							showAutoComplete();
 						}
 						if(Wicket.Browser.isSafari()) {
-							return killEvent(event);
+							return jqEvent.stopPropagation();
 						}
 						break;
 					case KEY_ESC:
 						if (visible === 1) {
 							hideAutoComplete();
-							return killEvent(event);
+							return jqEvent.stopPropagation();
 						}
 						break;
 					case KEY_TAB:
@@ -189,7 +192,7 @@
 						}
 						mouseactive = 0;
 						if (typeof objonkeydown === "function") {
-							return objonkeydown.apply(this,[event]);
+							return objonkeydown.apply(this,[jqEvent]);
 						}
 						return true;
 
@@ -197,12 +200,12 @@
 				}
 			});
 
-			Wicket.Event.add(obj, 'inputchange', function (event) {
-				var kc = Wicket.Event.keyCode(event);
+			Wicket.Event.add(obj, 'inputchange', function (jqEvent) {
+				var kc = Wicket.Event.keyCode(jqEvent);
 				switch(kc) {
 					case KEY_TAB:
 					case KEY_ENTER:
-						return killEvent(event);
+						return jqEvent.stopPropagation();
 					case KEY_UP:
 					case KEY_DOWN:
 					case KEY_ESC:
@@ -216,19 +219,19 @@
 						updateChoices();
 				}
 				if(typeof objonkeyup === "function") {
-					return objonkeyup.apply(this,[event]);
+					return objonkeyup.apply(this,[jqEvent]);
 				}
 			});
 
-			Wicket.Event.add(obj, 'keypress', function (event) {
-				if(Wicket.Event.keyCode(event) === KEY_ENTER){
+			Wicket.Event.add(obj, 'keypress', function (jqEvent) {
+				if(Wicket.Event.keyCode(jqEvent) === KEY_ENTER){
 					if(selected>-1 || hidingAutocomplete === 1){
 						hidingAutocomplete=0;
-						return killEvent(event);
+						return jqEvent.stopPropagation();
 					}
 				}
 				if(typeof objonkeypress==="function") {
-					return objonkeypress.apply(this,[event]);
+					return objonkeypress.apply(this,[jqEvent]);
 				}
 			});
 
@@ -300,9 +303,9 @@
 						selectableInd++;
 					}
 				}
-			} else {
-				return firstChild.childNodes[selected];
 			}
+
+			return firstChild.childNodes[selected];
 		}
 
 		function getMenuId() {
@@ -349,28 +352,6 @@
 			return node;
 		}
 
-		function killEvent(event){
-			if (!event) {
-				event = window.event;
-			}
-			if (!event) {
-				return false;
-			}
-			if(event.cancelBubble){
-				event.cancelBubble=true;
-			}
-			if(event.returnValue){
-				event.returnValue=false;
-			}
-			if(event.stopPropagation){
-				event.stopPropagation();
-			}
-			if(event.preventDefault){
-				event.preventDefault();
-			}
-			return false;
-		}
-
 		function updateChoices(showAll){
 			setSelected(-1);
 			if (showAll) {
@@ -722,13 +703,13 @@
 		}
 
 		function getSelectedValue(){
-			var element=getAutocompleteMenu();
+			getAutocompleteMenu();
 			var selectableElement = getSelectableElement(selected);
 			var attr=selectableElement.attributes.textvalue;
 			var value;
-			if (attr=== undefined || attr === null) {
+			if (!attr) {
 				value=selectableElement.innerHTML;
-				} else {
+			} else {
 				value=attr.value;
 			}
 			return value;