All of these classes can be defined by yourself when creating the list by setting the options
searchClass, listClass and sortClass.

Create a list

Constructor

List(id, options, values)

Parameters

id or element(\required)*
Id the element in which the list area should be initialized. OR the actual element itself.

options
Some of the option parameters are required at some times

valueNames(Array, default: null) (*only required if the list already contains items before initialization)
If the list contains items on initialization, then this array
has to contain the value names (class names) for the different values of
each list item.

listClass(String, default: "list")
What is the class of the list-container?

searchClass(String, default: "search")
What is the class of the search field?

sortClass(String, default: "sort")
What is the class of the sort buttons?

indexAsync(Boolean, default: false)
If there are already items in the list to which the
List.js-script is added, then should the indexing be done
in a asynchronous way? Good for large lists (> 500 items).

page(Int, default: 200) (maxVisibleItemsCount previously)
Defines how many items that should be visible at the same time. This affects
performance.

Methods

If callback is set then items are added to the list in a asynchronous way, and the
callback is called when all items are added. This is especially useful
when adding very many items (200+ or something), or if you just like the
asynchronous coding style.

sort(valueName, options)
Sorts the list based on values the in the column named valueName. The options
parameter can contain two properties options.sortFunction and options.asc.
options.sortFunction is used if you want to make your own sort function.
The default sort function is found here http://my.opera.com/GreyWyvern/blog/show.dml/1671288options.asc = true means that you want to sort the list in ascending order. Set
false for descending.

update()
Updates the current state of the list. Meaning that if you for instance
hides some items with the itemObj.hide() method then you have to call listObj.update()
if you want the paging to update.

hide()
Hides the item (removes the element from the list, and then when its shown it's appended again. The element will thereby change position in the list. A bug, but a good solution is yet to be found.)

matching()
Returns boolean. True if the item matches the current filter and search. Visible items
always matches, but matching items are not always visible.

visisble()
Returns boolean. True if the item is visible. Visible items
always matches, but matching items are not always visible.

2011-07-25 Alpha 0.1 release

License (MIT)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.