> any plans to check this into trunk?
>
> On Fri, Jun 19, 2009 at 2:27 AM, <
jcompagner@...> wrote:
> > Author: jcompagner
> > Date: Fri Jun 19 09:27:06 2009
> > New Revision: 786424
> >
> > URL:
http://svn.apache.org/viewvc?rev=786424&view=rev> > Log:
> > more fixes for auto compleet (IE and so on)
> >
> > Modified:
> >
> wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
> >
> > Modified:
> wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
> > URL:
>
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js?rev=786424&r1=786423&r2=786424&view=diff> >
> ==============================================================================
> > ---
> wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
> (original)
> > +++
> wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
> Fri Jun 19 09:27:06 2009
> > @@ -53,9 +53,7 @@
> > var objonchange;
> > var objonchangeoriginal;
> >
> > - // holds the eventual margins, padding, etc. of the menu
> container.
> > - // it is computed when the menu is first rendered, and then
> reused.
> > - var initialDelta = -1;
> > + var ignoreOneFocusGain = false; // on FF, clicking an option in
> the popup would make field loose focus; focus() call only has effect in FF
> after popup is hidden, so the re-focusing must not show popup again in this
> case
> >
> > // holds a throttler, for not sending many requests if the user
> types
> > // too quickly.
> > @@ -90,6 +88,7 @@
> >
> > obj.onblur=function(event){
> > if(mouseactive==1){
> > + ignoreOneFocusGain = true;
> > Wicket.$(elementId).focus();
> > return killEvent(event);
> > }
> > @@ -98,20 +97,21 @@
> > }
> >
> > obj.onfocus=function(event){
> > - if (cfg.showListOnFocusGain) {
> > + if (!ignoreOneFocusGain && cfg.showListOnFocusGain) {
> > if (cfg.showCompleteListOnFocusGain) {
> > updateChoices(true);
> > } else {
> > updateChoices();
> > }
> > }
> > + ignoreOneFocusGain = false;
> > if(typeof
> objonfocus=="function")objonfocus.apply(this,[event]);
> > }
> >
> > obj.onkeydown=function(event){
> > switch(wicketKeyCode(Wicket.fixEvent(event))){
> > case KEY_UP:
> > - if(selected>-1)selected--;
> > + if(selected>-1) selected--;
> > if(selected==-1){
> > hideAutoComplete();
> > } else {
> > @@ -120,9 +120,7 @@
> > if(Wicket.Browser.isSafari())return killEvent(event);
> > break;
> > case KEY_DOWN:
> > - if(selected<elementCount-1){
> > - selected++;
> > - }
> > + if(selected<elementCount-1) selected++;
> > if(visible==0){
> > updateChoices();
> > } else {
> > @@ -327,16 +325,17 @@
> > }
> >
> > function getPosition(obj) {
> > - var leftPosition=0;
> > - var topPosition=0;
> > - do {
> > + var leftPosition = obj.offsetLeft || 0;
> > + var topPosition = obj.offsetTop || 0;
> > + obj = obj.offsetParent;
> > + while (obj && obj != document.documentElement && obj !=
> document.body) {
> > topPosition += obj.offsetTop || 0;
> > topPosition -= obj.scrollTop || 0;
> > leftPosition += obj.offsetLeft || 0;
> > leftPosition -= obj.scrollLeft || 0;
> > obj = obj.offsetParent;
> > - } while (obj);
> > -
> > + }
> > +
> > return [leftPosition,topPosition];
> > }
> >
> > @@ -362,9 +361,15 @@
> > if(typeof objonchange=="function")
> objonchange.apply(wicketGet(elementId),[event]);
> > }
> > hideAutoComplete();
> > + if (Wicket.Focus.getFocusedElement() != input)
> > + {
> > + ignoreOneFocusGain = true;
> > + input.focus();
> > + }
> > };
> >
> > var mouseOverFunc = function(event) {
> > + mouseactive=1; // Opera needs this as mousemove for menu
> is not always triggered
> > selected = getElementIndex(this);
> > render();
> > showAutoComplete();
> > @@ -452,18 +457,17 @@
> > if (classNames != origClassNames)
> > node.className = classNames;
> >
> > - if ((cfg.maxHeight > -1) && (height <
> cfg.maxHeight))
> > + if (cfg.maxHeight > -1)
> > height+=node.offsetHeight;
> >
> > node = node.nextSibling;
> > }
> > if (cfg.maxHeight > -1) {
> > - // If we don't exceed the maximum size, we add
> the extra space
> > - // that may be there due to padding, margins,
> etc.
> > - if (initialDelta == -1)
> > - initialDelta =
> menu.parentNode.offsetHeight - height;
> > - height = height<cfg.maxHeight ? height+initialDelta :
> cfg.maxHeight;
> > - menu.parentNode.style.height=height+"px";
> > + if (height<cfg.maxHeight) {
> > + menu.parentNode.style.height="auto";
> > + } else {
> > + menu.parentNode.style.height=cfg.maxHeight+"px";
> > + }
> > }
> > }
> >
> >
> >
> >
>