Introduction
Database driven applications, such as Moodle, require efficient methods of displaying data to users (for example, a table of assignment grades or other recent user activity). This typically takes the form of an HTML table, the familiar grid of columns and rows in the style of a spreadsheet. Though generated dynamically from a database on the server, by the time these tables are rendered to the browser they are fairly static, representing a non-interactive grid of data on screen.
There is a lot of scope within JavaScript (and the YUI) for us to bring these static tables to life by enabling functionality more reminiscent of a spreadsheet application than a basic web page. Examples of this functionality include the following:
Sorting: The ability to sort columns alphabetically or numerically in ascending or descending order.
Paging: The ability to click through smaller "chunks" of the contents of the table by splitting it up into pages of a certain size. This is a great way to...