Merge branch 'master' into PROT-9-webservice
[proteocache.git] / webapp / resources / datatables-1.9.4 / extras / FixedColumns / row_grouping_height.html
diff --git a/webapp/resources/datatables-1.9.4/extras/FixedColumns/row_grouping_height.html b/webapp/resources/datatables-1.9.4/extras/FixedColumns/row_grouping_height.html
new file mode 100644 (file)
index 0000000..f265348
--- /dev/null
@@ -0,0 +1,571 @@
+<!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>FixedColumns example</title>
+               <style type="text/css" title="currentStyle">
+                       @import "../../media/css/demo_page.css";
+                       @import "../../media/css/demo_table.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/FixedColumns.js"></script>
+               <script type="text/javascript" charset="utf-8">
+                       $(document).ready( function () {
+                               var oTable = $('#example').dataTable( {
+                                       "sScrollY": "300px",
+                                       "sScrollX": "100%",
+                                       "sScrollXInner": "150%",
+                                       "bScrollCollapse": true,
+                                       "bPaginate": false
+                               } );
+
+                               new FixedColumns( oTable, {
+                                       "iLeftWidth": 150,
+                                       "fnDrawCallback": function ( left, right ) {
+                                               var that = this, groupVal = null, matches = 0, heights = [], index = -1;
+                                               
+                                               /* Get the heights of the cells and remove redundant ones */
+                                               $('tbody tr td', left.body).each( function ( i ) {
+                                                       var currVal = this.innerHTML;
+                                                       
+                                                       /* Reset values on new cell data. */
+                                                       if (currVal != groupVal) {
+                                                               groupVal = currVal;
+                                                               index++;
+                                                               heights[index] = 0;
+                                                               matches = 0;
+                                                       } else  {
+                                                               matches++;
+                                                       }
+                                                       
+                                                       heights[ index ] += $(this.parentNode).height();
+                                                       if ( currVal == groupVal && matches > 0 ) {
+                                                               this.parentNode.parentNode.removeChild(this.parentNode);
+                                                       }
+                                               } );
+
+                                               /* Now set the height of the cells which remain, from the summed heights */
+                                               $('tbody tr td', left.body).each( function ( i ) {
+                                                       that.fnSetRowHeight( this.parentNode, heights[i] );
+                                               } );
+                                       }
+                               } );
+                       } );
+               </script>
+       </head>
+       <body id="dt_example">
+               <div id="container">
+                       <div class="full_width big">
+                               FixedColumns example - row grouping using the fixed column
+                       </div>
+                       
+                       <h1>Preamble</h1>
+                       <p>This example shows how it is possible to manipulate the DOM of the fixed column to create the effect of row grouping in the table (or more generally any manipulation you wish to make). When ordered by the first column it is possible to see the grouping in full effect - if you then change the ordering to one of the other columns the grouping is dynamically changed to combine like cells. It would be readily possible to extend this example to use two fixed columns and only 'group' rows in one of the columns, potentially achieving quite a powerful effect.</p>
+                       
+                       <h1>Live example</h1>
+                       <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>
+       <tbody>
+               <tr class="gradeX">
+                       <td>Trident</td>
+                       <td>Internet
+                                Explorer 4.0</td>
+                       <td>Win 95+</td>
+                       <td class="center">4</td>
+                       <td class="center">X</td>
+               </tr>
+               <tr class="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="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="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="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="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="gradeA">
+                       <td>Gecko</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="gradeA">
+                       <td>Gecko</td>
+                       <td>Firefox <br>1.5</td>
+                       <td>Win 98+ / OSX.2+</td>
+                       <td class="center">1.8</td>
+                       <td class="center">A</td>
+               </tr>
+               <tr class="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="gradeA">
+                       <td>Webkit</td>
+                       <td>S60</td>
+                       <td>S60</td>
+                       <td class="center">413</td>
+                       <td class="center">A</td>
+               </tr>
+               <tr class="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="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="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="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="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="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="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="gradeA">
+                       <td>Presto</td>
+                       <td>Opera for Wii</td>
+                       <td>Wii</td>
+                       <td class="center">-</td>
+                       <td class="center">A</td>
+               </tr>
+               <tr class="gradeA">
+                       <td>Presto</td>
+                       <td>Nokia N800</td>
+                       <td>N800</td>
+                       <td class="center">-</td>
+                       <td class="center">A</td>
+               </tr>
+               <tr class="gradeA">
+                       <td>Presto</td>
+                       <td>Nintendo DS browser</td>
+                       <td>Nintendo DS</td>
+                       <td class="center">8.5</td>
+                       <td class="center">C/A</td>
+               </tr>
+               <tr class="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="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="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="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="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="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="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="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="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="gradeX">
+                       <td>Misc</td>
+                       <td>Links</td>
+                       <td>Text only</td>
+                       <td class="center">-</td>
+                       <td class="center">X</td>
+               </tr>
+               <tr class="gradeX">
+                       <td>Misc</td>
+                       <td>Lynx</td>
+                       <td>Text only</td>
+                       <td class="center">-</td>
+                       <td class="center">X</td>
+               </tr>
+               <tr class="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="gradeC">
+                       <td>Misc</td>
+                       <td>PSP browser</td>
+                       <td>PSP</td>
+                       <td class="center">-</td>
+                       <td class="center">C</td>
+               </tr>
+               <tr class="gradeU">
+                       <td>Other browsers</td>
+                       <td>All others</td>
+                       <td>-</td>
+                       <td class="center">-</td>
+                       <td class="center">U</td>
+               </tr>
+       </tbody>
+</table>
+                       </div>
+                       <div class="spacer"></div>
+                       
+                       
+                       <h1>Initialisation code</h1>
+                       <pre>$(document).ready( function () {
+       var oTable = $('#example').dataTable( {
+               "sScrollY": "300px",
+               "sScrollX": "100%",
+               "sScrollXInner": "150%",
+               "bScrollCollapse": true,
+               "bPaginate": false
+       } );
+
+       new FixedColumns( oTable, {
+               "iLeftWidth": 150,
+               "fnDrawCallback": function ( left, right ) {
+                       var that = this, groupVal = null, matches = 0, heights = [], index = -1;
+                       
+                       /* Get the heights of the cells and remove redundant ones */
+                       $('tbody tr td', left.body).each( function ( i ) {
+                               var currVal = this.innerHTML;
+                               
+                               /* Reset values on new cell data. */
+                               if (currVal != groupVal) {
+                                       groupVal = currVal;
+                                       index++;
+                                       heights[index] = 0;
+                                       matches = 0;
+                               } else  {
+                                       matches++;
+                               }
+                               
+                               heights[ index ] += $(this.parentNode).height();
+                               if ( currVal == groupVal &amp;&amp; matches &gt; 0 ) {
+                                       this.parentNode.parentNode.removeChild(this.parentNode);
+                               }
+                       } );
+
+                       /* Now set the height of the cells which remain, from the summed heights */
+                       $('tbody tr td', left.body).each( function ( i ) {
+                               that.fnSetRowHeight( this.parentNode, heights[ i ] );
+                       } );
+               }
+       } );
+} );</pre>
+
+
+                       <h1>Documentation</h1>
+                       <ul>
+                               <li><a href="http://datatables.net/extras/fixedcolumns">Usage</a></li>
+                               <li><a href="http://datatables.net/docs/FixedColumns">API / parameters</a></li>
+                       </ul>
+
+                       <h1>Basic examples</h1>
+                       <ul>
+                               <li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+                               <li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+                               <li><a href="index_column.html">Index column attached to side of the table</a></li>
+                               <li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+                               <li><a href="two_columns.html">Two columns fixed in place</a></li>
+                               <li><a href="right_column.html">Fix the right column in place</a></li>
+                               <li><a href="css_size.html">Speeding up row height matching with CSS</a></li>
+                               <li><a href="themed.html">jQuery UI themed table with FixedColumns</a></li>
+                       </ul>
+                       
+                       <h1>Advanced examples</h1>
+                       <ul>
+                               <li><a href="rowspan.html">Using ROWSPAN with FixedColumns</a></li>
+                               <li><a href="server-side-processing.html">Server-side processing with FixedColumns</a></li>
+                               <li><a href="col_filter.html">Individual column filtering</a></li>
+                               <li><a href="scale_fixed.html">Setting the fixed column width and resizing the table</a></li>
+                               <li><a href="scale_relative.html">Setting the fixed column width with relative sizing</a></li>
+                               <li><a href="row_grouping_height.html">Row grouping by grouping like rows in the fixed column</a></li>
+                               <li><a href="row_grouping.html">Row grouping by inserting a grouping row</a></li>
+                       <ul>
+                       
+                       
+                       <div id="footer" style="text-align:center;">
+                               <span style="font-size:10px;">
+                                       FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+                               </span>
+                       </div>
+               </div>
+       </body>
+</html>
\ No newline at end of file