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 <[email protected]>
Authored: Fri Aug 10 11:57:47 2012 +0300
Committer: Martin Tzvetanov Grigorov <[email protected]>
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;

Reply via email to