datatable.html revision 76c9fe1d50dff2736aa35ed3e81acaf8cdf48588
371N/A<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.2.0/build/cssreset/reset-min.css">
126N/A<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.2.0/build/cssbase/base-min.css">
126N/A Toggle <code>data</code> from <code>large</code> to <code>small</code> to get a different sized dataset. The <code>ignore</code> object determines which table to load. If testing performance, it is recommended that you only enable 1 table at a time.</p>
<P>A general XY scrolling datatable. Column widths are provided for all columns, table width and height is provided.</p>
<p>A X-scrolling datatable. Column A and B have specified widths. The rest of the columns do not have any widths specified. Only a height of 200px is specified.</p>
<p>A Y-scrolling datatable. Column widths are provided for all columns, table height is provided. Since all cols have specified width, you may see this table overflowing past its container div (the blue div in the background). </p>
<p>A Y-scrolling datatable, where only the first 2 columns have a specified width. Only the table height is provided.</p>
<p>A XY-scrolling datatable, where only the first 2 columns have a specified width. Table height and width is provided. The table headers are of larger width than the table contents</p>
<p>A scrolling datatable with no width or height values passed in will result in a base datatable being created with auto width and height.</p>
base: "/build/",
var ASSERT = Y.Assert,
ARRAYASSERT = Y.ArrayAssert,
BTNRUN = Y.one("#btnRun"),
TestRunner = Y.Test.Runner;
BTNRUN.set("disabled", false);
Y.on("click", function(e){
BTNRUN.set("value", 'Running...');
BTNRUN.set("disabled", true);
BTNRUN.set("value", 'Test Completed');
Y.log('Test Completed');
var myConsole = new Y.Console().render();
var small = [{a:3, b:2, c:1, d:6, e:7, f:2, g:0}, {a:9, b:8, c:7, d:6, e:7, f:2, g:0}, {a:1, b:2, c:3, d:6, e:7, f:2, g:0},
{a:3, b:2, c:1, d:6, e:7, f:2, g:0}, {a:9, b:8, c:7, d:6, e:7, f:2, g:0}, {a:1, b:2, c:3, d:6, e:7, f:2, g:0},
{a:3, b:2, c:1, d:6, e:7, f:2, g:0}, {a:9, b:8, c:7, d:6, e:7, f:2, g:0}, {a:1, b:2, c:3, d:6, e:7, f:2, g:0},
{a:3, b:2, c:1, d:6, e:7, f:2, g:0}, {a:9, b:8, c:7, d:6, e:7, f:2, g:0}, {a:1, b:2, c:3, d:6, e:7, f:2, g:0}];
cols: [{key:"a", field:"a", label:"AAA", sortable:true, className: ["oneClass", "anotherClass"], width:'75px'},{key:"b", abbr:"bbb", className:"myClass", width: '120px'},{key:"c", width:'75px'},{key:"d", width:'150px'},{key:"3", width:'75px'},{key:"f", width:'150px'},{key:"g", width:'75px'}],
cols2: [{key:"a", field:"a", label:"AAA", sortable:true, className: ["oneClass", "anotherClass"], width:'75px'},{key:"b", abbr:"bbb", className:"myClass", width:'75px'},{key:"c"},{key:"d"},{key:"e"},{key:"f"},{key:"g"}],
cols3: [{key:"a", field:"a", label:"Lorem Ipsum Dolor SIt Amet", sortable:true, className: ["oneClass", "anotherClass"], width:'5px'},{key:"b", abbr:"Lorem Ipsum Dolor SIt Amet", className:"myClass", width:'75px'},{key:"Lorem Ipsum Dolor SIt Amet"},{key:"Lorem Ipsum Dolor SIt Amet"},{key:"Lorem Ipsum Dolor SIt Amet"},{key:"Lorem Ipsum Dolor SIt Amet"},{key:"Lorem Ipsum Dolor SIt Amet"}],
var dd = Y.Node.create('<dd>' + v.calls + ' call(s) at ' + v.avg + ' ms/call = <span>' + Math.round(v.avg*v.calls) + '</span> ms total</dd>');
Y.Profiler.start('dtBase');
this.dt.render(sel);
Y.Profiler.stop('dtBase');
var msg = Y.Profiler.getAverage('dtBase') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, "time");
Y.Profiler.start('dtXY');
this.dt = new Y.DataTable.Base({columnset:this.cols, recordset:this.data, tdValueTemplate:"plug then render {value}", caption: "ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtXY');
var msg = Y.Profiler.getAverage('dtXY') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, "time");
Y.Profiler.start('dtX');
this.dt = new Y.DataTable.Base({columnset:this.cols2, recordset:this.data, caption:"ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtX');
var msg = Y.Profiler.getAverage('dtX') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, "time");
Y.Profiler.start('dtY1');
this.dt = new Y.DataTable.Base({columnset:this.cols, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtY1');
var msg = Y.Profiler.getAverage('dtY1') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, 'time');
Y.Profiler.start('dtY2');
this.dt = new Y.DataTable.Base({columnset:this.cols2, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtY2');
var msg = Y.Profiler.getAverage('dtY2') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, 'time');
Y.Profiler.start('dtHeaders');
this.dt = new Y.DataTable.Base({columnset:this.cols3, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtHeaders');
var msg = Y.Profiler.getAverage('dtHeaders') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, 'time');
Y.Profiler.start('dtNoScroll');
this.dt = new Y.DataTable.Base({columnset:this.cols3, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
this.dt.render(sel);
Y.Profiler.stop('dtNoScroll');
var msg = Y.Profiler.getAverage('dtNoScroll') + 'ms taken to display';
this.displayReport(report);
Y.Profiler.unregisterObject('dt');
Y.log(msg, 'time');
this.dt.scroll.set('width', '200px');
var suite = new Y.Test.Suite({name:"Datatable Test Suite"});
suite.add(testBasic);
Y.Test.Runner.setName("Datatable Test Runner");
Y.Test.Runner.add(suite);
//Y.Test.Runner.run();