#163 new
guntersammet

Ajax.InPlaceCollectionEditor seems to be broken in 1.8.2

Reported by guntersammet | January 30th, 2009 @ 06:55 PM

As posted on the mailing list (http://groups.google.com/group/p..., here a ticket to track it:

Just recently downloaded the newest version (1.8.2) and it seems like the Ajax.InPlaceCollectionEditor doesn't work anymore.

I set up a demo at:

http://sammysolutions.com/debugg... http://sammysolutions.com/debugg...

Main issue is example 2 (should autoselect "two"). It doesn't jump to two in the 1.8.2 example. On top of the selection issue in all browsers I tested so far (FF, Safari, IE), in IE7 the editor doesn't show t the selection object at all.

I think I fixed the issue in FF that the element does not get selected. I changed line 841 in controls.js from

  option.selected = textFound ? entry[0] == marker : 0 == index;

to

  option.selected = textFound ? entry[0] == marker : entry[1] ==

marker;

See http://sammysolutions.com/debugg... for a working example.

If this is a proper fix, please submit to the repository.

Didn't debug the IE issue yet. Please advise! Thanks,

Gunter

Comments and changes to this ticket

  • joe t.

    joe t. February 2nd, 2009 @ 05:04 PM

    Posted to: http://groups.google.com/group/p...

    Using the IE8 JS debugger, controls.js fails at line ~841:

    this._controls.editor.update('');
    
    

    because at line ~766, the SELECT object is created by the native createElement method, but is not Prototype extended:

    var list = document.createElement('select');
    list.name = this.options.paramName;
    list.size = 1;
    
    
    • this._controls.editor = list;*

    i changed the last line shown above to:

    this._controls.editor = $(list);

    and IE started displaying the list. i couldn't tell you why Firefox manages to get by that little slip.

  • guntersammet

    guntersammet February 18th, 2009 @ 01:35 AM

    The above fix posted by joe t. works for me as well. Thanks for debugging this!

  • Evgeni Spasov

    Evgeni Spasov September 7th, 2009 @ 05:57 PM

    • Tag changed from inplacecollectioneditor to inplacecollectioneditor, inplaceeditor

    You should change this in two places in controls.js
    Here is a patch for scriptaculous 1.8.2

    Evgeni Spasov evgeni.spasov@gmail.com
    scriptaculous 1.8.2 patch for controls.js

    *** controls.js Mon Sep 7 18:16:45 2009 --- controls.js Mon Sep 7 18:17:22 2009


    * 553,558 ** --- 553,559 ----

    {mkd-extraction-3ec2b2d6dd897064800224d54763754a}
    • Element.extend(fld); this._controls.editor = fld; if (this.options.loadTextURL) {mkd-extraction-9a76ddeeb96db1980dfcc1edb73d304b}

    * 763,768 ** --- 764,770 ----

    {mkd-extraction-004e8826991af9333edb0870aec425fa}
    • Element.extend(list); this.controls.editor = list; this.collection = this.options.collection || []; if (this.options.loadCollectionURL)
  • Evgeni Spasov

    Evgeni Spasov September 7th, 2009 @ 05:58 PM

    Mistake:

    Evgeni Spasov <evgeni.spasov@gmail.com>
    scriptaculous 1.8.2 patch for controls.js
    
    *** controls.js Mon Sep  7 18:16:45 2009
    --- controls.js Mon Sep  7 18:17:22 2009
    ***************
    *** 553,558 ****
    --- 553,559 ----
          fld.className = 'editor_field';
          if (this.options.submitOnBlur)
            fld.onblur = this._boundSubmitHandler;
    +     Element.extend(fld);
          this._controls.editor = fld;
          if (this.options.loadTextURL)
            this.loadExternalText();
    ***************
    *** 763,768 ****
    --- 764,770 ----
          var list = document.createElement('select');
          list.name = this.options.paramName;
          list.size = 1;
    +     Element.extend(list);
          this._controls.editor = list;
          this._collection = this.options.collection || [];
          if (this.options.loadCollectionURL)
    

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

script.aculo.us is an open-source JavaScript framework for visual effects and interface behaviours.
<br/><b>Source available from github</b>
The Git repository resides at:
<a href="http://github.com/madrobby/scriptaculous">http://github.com/madrobby/scriptaculous</a>
<br/>Check out the current development trunk with:
<code>git clone git://github.com/madrobby/scriptaculous.git</code>
<br/>As <b>script.aculo.us 1.xx is feature-frozen</b>, this development trunk is for <b>bugfixes only</b>.
<br/>New development should happen only for
<b>script.aculo.us 2</b>.
<br/><b>Creating a bug report</b>
When creating a bug report, be sure to include as much relevant information as possible. Post a an example that shows off the problem. Preferably, <b>alter the unit tests</b> and show through either changed or added tests how the expected behavior is not occuring.

People watching this ticket

Pages