#120 new
Slave2zeros

Ajax.InPlaceCollectionEditor check for collection items being Array splits 2 character strings

Reported by Slave2zeros | November 14th, 2008 @ 04:18 AM

When creating a new instance of Ajax.InPlaceCollectionEditor with 'collection' object containing strings, strings with a length of 2 are handled incorrectly. I've posted an example of what I'm describing below.


new Ajax.InPlaceCollectionEditor('myInPlaceEditor', '/submit/path', { collection: ['chicken', 'duck', 'me', 'truck'] });

When this creates the select box, it creates the following:


<select>
	<option value="chicken">chicken</option>
	<option value="duck">duck</option>
	<option value="m">e</option>
	<option value="truck">truck</option>
</select>

The code for this can be found in the buildOptionList method. And can be fixed as follows. Change:


this._collection = this._collection.map(function(entry) {
  return 2 === entry.length ? entry : [entry, entry].flatten();
});

To:


this._collection = this._collection.map(function(entry) {
  return (2 === entry.length && typeof entry == 'array') ? entry : [entry, entry].flatten();
});

I will try to get the latest copy checked out and fix this myself, but may not get an opportunity to do so.

Comments and changes to this ticket

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