Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
        <head>
                <meta http-equiv="content-type" content="text/html; charset=utf-8">
                <link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
                
                <title>AutoFill example</title>
                <style type="text/css" title="currentStyle">
                        @import "../../media/css/demo_page.css";
                        @import "../../media/css/demo_table.css";
                        @import "media/css/AutoFill.css";
                </style>
                <script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
                <script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
                <script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
                <script type="text/javascript" charset="utf-8">
                        $(document).ready( function () {
                                var oTable = $('#example').dataTable();
                                new AutoFill( oTable, {
                                        "aoColumnDefs": [ {
                                                "fnCallback": function ( ao ) {
                                                        var n = document.getElementById('output');
                                                        for ( var i=0, iLen=ao.length ; i<iLen ; i++ ) {
                                                                n.innerHTML += "Update: old value: {"+
                                                                        ao[i].oldValue+"} - new value: {"+ao[i].newValue+"}<br>";
                                                        }
                                                        n.scrollTop = n.scrollHeight;
                                                },
                                                "aTargets": [ "_all" ]
                                        } ]
                                } );
                        } );
                </script>
        </head>
        <body id="dt_example">
                <div id="container">
                        <div class="full_width big">
                                AutoFill example
                        </div>
                        
                        <h1>Preamble</h1>
                        <p>
                                AutoFill provides a number of customisable callback functions so you can tailor it's
                                actions to exactly what you need. This specific example shows fnCallback, which is fired when the mouse is released. Further documentation is below.
                        </p>
                        
                        <ul>
                                <li>
                                        <b>fnRead</b> - Called when a cell is read for it's value. This allows you to override the default of reading the HTML value (or 'input' elements value if there is one present). For example reading the value from a select list.
                                        <ul>
                                                <li>Parameter 1: Node - TD element to be read from</li>
                                                <li>Returns: String - read value</li>
                                        </ul>
                                </li>
                                <li>
                                        <b>fnWrite</b> - Called when a cell is to read to. This allows you to write in a specific format, or perhaps to an element within the cell.
                                        <ul>
                                                <li>Parameter 1: Node - TD element to be written to</li>
                                                <li>Parameter 2: String - Value to write</li>
                                                <li>Parameter 3: Boolean - Last cell to be written (useful for speeding up DataTables' fnUpdate)</li>
                                                <li>Returns: void</li>
                                        </ul>
                                </li>
                                <li>
                                        <b>fnStep</b> - Called to calculate the new value to give to a cell
                                        <ul>
                                                <li>Parameter 1: Node - TD element to be written to</li>
                                                <li>Parameter 2: String - Statement with a token to be replace with the calculated value</li>
                                                <li>Parameter 3: Int - Step counter</li>
                                                <li>Parameter 4: Boolean - increment (true), or decrement (false)</li>
                                                <li>Parameter 5: String - Token to replace</li>
                                                <li>Returns: String - string to write into the cell</li>
                                        </ul>
                                </li>
                                <li>
                                        <b>fnCallback</b> - Called when the AutoFill is complete, with information about the fill. This can be useful for updating a server database for example.
                                        <ul>
                                                <li>Parameter 1: Array - An array of objects with information about each cell that was written to. Object parameters are: "td", "newValue" and "oldValue".</li>
                                                <li>Returns: void</li>
                                        </ul>
                                </li>
                        </ul>
                        
                        
                        <h1>Live example</h1>
                        <form>
                                <div id="output" style="height: 100px; overflow: scroll;"> 
                                        Information about each update will appear here.<br><br>
                                </div>
                        <div id="demo">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
        <thead>
                <tr>
                        <th>Rendering engine</th>
                        <th>Browser</th>
                        <th>Platform(s)</th>
                        <th>Engine version</th>
                        <th>CSS grade</th>
                </tr>
        </thead>
        <tfoot>
                <tr>
                        <th>Rendering engine</th>
                        <th>Browser</th>
                        <th>Platform(s)</th>
                        <th>Engine version</th>
                        <th>CSS grade</th>
                </tr>
        </tfoot>
        <tbody>
                <tr class="odd_gradeX">
                        <td>Trident</td>
                        <td>Internet Explorer 4.0</td>
                        <td>Win 95+ (Entity: &amp;)</td>
                        <td class="center">4</td>
                        <td class="center">X</td>
                </tr>
                <tr class="even_gradeC">
                        <td>Trident</td>
                        <td>Internet Explorer 5.0</td>
                        <td>Win 95+</td>
                        <td class="center">5</td>
                        <td class="center">C</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Trident</td>
                        <td>Internet Explorer 5.5</td>
                        <td>Win 95+</td>
                        <td class="center">5.5</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Trident</td>
                        <td>Internet Explorer 6</td>
                        <td>Win 98+</td>
                        <td class="center">6</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Trident</td>
                        <td>Internet Explorer 7</td>
                        <td>Win XP SP2+</td>
                        <td class="center">7</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Trident</td>
                        <td>AOL browser (AOL desktop)</td>
                        <td>Win XP</td>
                        <td class="center">6</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko (UTF-8: $¢€)</td>
                        <td>Firefox 1.0</td>
                        <td>Win 98+ / OSX.2+</td>
                        <td class="center">1.7</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Firefox 1.5</td>
                        <td>Win 98+ / OSX.2+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Firefox 2.0</td>
                        <td>Win 98+ / OSX.2+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Firefox 3.0</td>
                        <td>Win 2k+ / OSX.3+</td>
                        <td class="center">1.9</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Camino 1.0</td>
                        <td>OSX.2+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Camino 1.5</td>
                        <td>OSX.3+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Netscape 7.2</td>
                        <td>Win 95+ / Mac OS 8.6-9.2</td>
                        <td class="center">1.7</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Netscape Browser 8</td>
                        <td>Win 98SE+</td>
                        <td class="center">1.7</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Netscape Navigator 9</td>
                        <td>Win 98+ / OSX.2+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.0</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.1</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.1</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.2</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.2</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.3</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.3</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.4</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.4</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.5</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.5</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.6</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">1.6</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.7</td>
                        <td>Win 98+ / OSX.1+</td>
                        <td class="center">1.7</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Mozilla 1.8</td>
                        <td>Win 98+ / OSX.1+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Gecko</td>
                        <td>Seamonkey 1.1</td>
                        <td>Win 98+ / OSX.2+</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Gecko</td>
                        <td>Epiphany 2.20</td>
                        <td>Gnome</td>
                        <td class="center">1.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Webkit</td>
                        <td>Safari 1.2</td>
                        <td>OSX.3</td>
                        <td class="center">125.5</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Webkit</td>
                        <td>Safari 1.3</td>
                        <td>OSX.3</td>
                        <td class="center">312.8</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Webkit</td>
                        <td>Safari 2.0</td>
                        <td>OSX.4+</td>
                        <td class="center">419.3</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Webkit</td>
                        <td>Safari 3.0</td>
                        <td>OSX.4+</td>
                        <td class="center">522.1</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Webkit</td>
                        <td>OmniWeb 5.5</td>
                        <td>OSX.4+</td>
                        <td class="center">420</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Webkit</td>
                        <td>iPod Touch / iPhone</td>
                        <td>iPod</td>
                        <td class="center">420.1</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Webkit</td>
                        <td>S60</td>
                        <td>S60</td>
                        <td class="center">413</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Presto</td>
                        <td>Opera 7.0</td>
                        <td>Win 95+ / OSX.1+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Presto</td>
                        <td>Opera 7.5</td>
                        <td>Win 95+ / OSX.2+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Presto</td>
                        <td>Opera 8.0</td>
                        <td>Win 95+ / OSX.2+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Presto</td>
                        <td>Opera 8.5</td>
                        <td>Win 95+ / OSX.2+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Presto</td>
                        <td>Opera 9.0</td>
                        <td>Win 95+ / OSX.3+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Presto</td>
                        <td>Opera 9.2</td>
                        <td>Win 88+ / OSX.3+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Presto</td>
                        <td>Opera 9.5</td>
                        <td>Win 88+ / OSX.3+</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Presto</td>
                        <td>Opera for Wii</td>
                        <td>Wii</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Presto</td>
                        <td>Nokia N800</td>
                        <td>N800</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Presto</td>
                        <td>Nintendo DS browser</td>
                        <td>Nintendo DS</td>
                        <td class="center">8.5</td>
                        <td class="center">C/A<sup>1</sup></td>
                </tr>
                <tr class="even_gradeC">
                        <td>KHTML</td>
                        <td>Konqureror 3.1</td>
                        <td>KDE 3.1</td>
                        <td class="center">3.1</td>
                        <td class="center">C</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>KHTML</td>
                        <td>Konqureror 3.3</td>
                        <td>KDE 3.3</td>
                        <td class="center">3.3</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeA">
                        <td>KHTML</td>
                        <td>Konqureror 3.5</td>
                        <td>KDE 3.5</td>
                        <td class="center">3.5</td>
                        <td class="center">A</td>
                </tr>
                <tr class="odd_gradeX">
                        <td>Tasman</td>
                        <td>Internet Explorer 4.5</td>
                        <td>Mac OS 8-9</td>
                        <td class="center">-</td>
                        <td class="center">X</td>
                </tr>
                <tr class="even_gradeC">
                        <td>Tasman</td>
                        <td>Internet Explorer 5.1</td>
                        <td>Mac OS 7.6-9</td>
                        <td class="center">1</td>
                        <td class="center">C</td>
                </tr>
                <tr class="odd_gradeC">
                        <td>Tasman</td>
                        <td>Internet Explorer 5.2</td>
                        <td>Mac OS 8-X</td>
                        <td class="center">1</td>
                        <td class="center">C</td>
                </tr>
                <tr class="even_gradeA">
                        <td>Misc</td>
                        <td>NetFront 3.1</td>
                        <td>Embedded devices</td>
                        <td class="center">-</td>
                        <td class="center">C</td>
                </tr>
                <tr class="odd_gradeA">
                        <td>Misc</td>
                        <td>NetFront 3.4</td>
                        <td>Embedded devices</td>
                        <td class="center">-</td>
                        <td class="center">A</td>
                </tr>
                <tr class="even_gradeX">
                        <td>Misc</td>
                        <td>Dillo 0.8</td>
                        <td>Embedded devices</td>
                        <td class="center">-</td>
                        <td class="center">X</td>
                </tr>
                <tr class="odd_gradeX">
                        <td>Misc</td>
                        <td>Links</td>
                        <td>Text only</td>
                        <td class="center">-</td>
                        <td class="center">X</td>
                </tr>
                <tr class="even_gradeX">
                        <td>Misc</td>
                        <td>Lynx</td>
                        <td>Text only</td>
                        <td class="center">-</td>
                        <td class="center">X</td>
                </tr>
                <tr class="odd_gradeC">
                        <td>Misc</td>
                        <td>IE Mobile</td>
                        <td>Windows Mobile 6</td>
                        <td class="center">-</td>
                        <td class="center">C</td>
                </tr>
                <tr class="even_gradeC">
                        <td>Misc</td>
                        <td>PSP browser</td>
                        <td>PSP</td>
                        <td class="center">-</td>
                        <td class="center">C</td>
                </tr>
                <tr class="odd_gradeU">
                        <td>Other browsers</td>
                        <td>All others</td>
                        <td>-</td>
                        <td class="center">-</td>
                        <td class="center">U</td>
                </tr>
        </tbody>
</table>
                        </div>
                </form>
                        <div class="spacer"></div>
                        
                        
                        <h1>Examples</h1>
                        <ul>
                                <li><a href="index.html">Basic initialisation</a></li>
                                <li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
                                <li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
                                <li><a href="inputs.html">Using with input elements</a></li>
                                <li><a href="callbacks.html">Customisation using callback functions</a></li>
                        </ul>
                        
                        
                        <h1>Initialisation code</h1>
                        <pre>$(document).ready( function () {
        var oTable = $('#example').dataTable();
        new AutoFill( oTable, {
                "aoColumnDefs": [ {
                        "fnCallback": function ( ao ) {
                                var n = document.getElementById('output');
                                for ( var i=0, iLen=ao.length ; i&lt;iLen ; i++ ) {
                                        n.innerHTML += "Update: old value: {"+
                                                ao[i].oldValue+"} - new value: {"+ao[i].newValue+"}&lt;br&gt;";
                                }
                                n.scrollTop = n.scrollHeight;
                        },
                        "aTargets": [ "_all" ]
                } ]
        } );
} );</pre>
                        
                        <div id="footer" style="text-align:center;">
                                <span style="font-size:10px;">
                                        AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
                                </span>
                        </div>
                </div>
        </body>
</html>