Yey, just lost my bugreport... So once again
Hi there
I'm using the multiselect inside a form to allow the selection of persons. Where talking about 300 - 400 entries. In some cases it is needed, that all persons can be selected. So I added a Function which gets all dataSource entries and sets them as value.
Unfortunately this takes "ages" (about 2-3 sec) and on some workstations even leads to a script timeout. Running Firebug profile, I found out that this is caused by the _select() method of the multiselect widget. In particular by the "that._height(that._visibleItems);" which is, caused by the array loop, called for every data item. If I move this line to the value() method and insert it after the select loop, consumed time drops almost by half.
I don't see why the height needs to be calculated on every data item. I couldn't detect any side effects yet, but maybe there are. Still I would suggest to move the height calculation from the _select() method.
Hi there
I'm using the multiselect inside a form to allow the selection of persons. Where talking about 300 - 400 entries. In some cases it is needed, that all persons can be selected. So I added a Function which gets all dataSource entries and sets them as value.
Unfortunately this takes "ages" (about 2-3 sec) and on some workstations even leads to a script timeout. Running Firebug profile, I found out that this is caused by the _select() method of the multiselect widget. In particular by the "that._height(that._visibleItems);" which is, caused by the array loop, called for every data item. If I move this line to the value() method and insert it after the select loop, consumed time drops almost by half.
I don't see why the height needs to be calculated on every data item. I couldn't detect any side effects yet, but maybe there are. Still I would suggest to move the height calculation from the _select() method.