datatable.html revision 31dc38d003f727e19c61510100f8418658af15d5
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<html>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<head>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<title>Datatable Tests</title>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<script type="text/javascript" src="/build/yui/yui-debug.js"></script>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<style>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra html {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra font-family: sans-serif;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra font-size: smaller;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra .message {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra padding: 5px;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra font-size:120%;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra background: #FFFCB6;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra border:1px solid #C9C675;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra #results dt {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra font-weight:bold;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra padding:3px;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra display:block;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra }
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra #results dd {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra font-weight:normal;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra color:grey;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra }
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra #results dd span {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra color: red;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra font-weight:bold;
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra }
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra</style>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra</head>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<body class="yui3-skin-sam">
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h1>Datatable Tests</h1>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<p><input type="button" value="Run Tests" id="btnRun" disabled=true></p>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="results"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Base Datatable</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="base"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Scrolling XY Datatable (Set columnwidths)</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<P>A general XY scrolling datatable. Column widths are provided for all columns, table width and height is provided.</p>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="scrolling-xy"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Scrolling X Datatable (Auto Columns)</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<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>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="scrolling-x"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Scrolling Y Datatable</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<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>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="scrolling-y"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Scrolling Datatable with no ColumnWidth</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<p>A Y-scrolling datatable, where only the first 2 columns have a specified width. Only the table height is provided.</p>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="scrolling-colwidth"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<h3>Scrolling Datatable with Big Headers</h3>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<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>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<div id="scrolling-bigcols"></div>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra<script type="text/javascript">
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra(function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra YUI({
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra base: "/build/",
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra filter: "debug",
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra logInclude:{"TestRunner":true},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra useConsole: true
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra }).use("console", "test", "dump", "datatable", "profiler","node","json-parse", function(Y) {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra // Set up the page
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var ASSERT = Y.Assert,
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra ARRAYASSERT = Y.ArrayAssert,
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra BTNRUN = Y.get("#btnRun");
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra BTNRUN.set("disabled", false);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.on("click", function(e){
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Test.Runner.run();
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }, BTNRUN);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var myConsole = new Y.Console().render();
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //large data set
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var large = [];
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra for (var i=0; i<500; i++) {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra large[i] = {a: i+1, b:i+2, c:i+3, d: i+4, e: i+5, f: i+6, g:i+7};
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //small data set
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra 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},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {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},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {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},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {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}];
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var testBasic = new Y.Test.Case({
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra name: "API Tests",
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra nestedcols: [
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {label:"Grandparent", children:[
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {key: "a"},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {label:"Parent", children: [
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {key:"b"},
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra {key:"c"}
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra ]}
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra ]}
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra ],
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra 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'}],
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra 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"}],
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra 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"}],
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //large or small dataset.
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra data: small,
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //---------------------------------------------
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra // Setup and tear down
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //---------------------------------------------
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra setUp : function () {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //create recordset
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //this.rs = new Y.Recordset({records:this.initialData});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //Some Ways to access recordset properties
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //Y.log(rs.getRecordByIndex(0).getValue('a'));
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //Y.log(rs.get('records').length);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra tearDown : function () {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra delete this.dt;
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //---------------------------------------------
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra // Special instructions
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //---------------------------------------------
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra _should: {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra ignore: {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra //ignore following tests (good to do if you are doing a large dataset)
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra testBaseDatatable: true,
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra testXYDatatable: true,
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testXDatatable: false,
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra testYDatatable_FixedCol: true,
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra testYDatatable_AutoCol: true,
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra testXYDatatable_BigHeaders: true
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra /////////////////////////////////////////////////////////////////////////////
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra //
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra // Displaying Report
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra //
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra /////////////////////////////////////////////////////////////////////////////
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra displayReport: function(data) {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var dl = Y.Node.create('<dl></dl>');
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.each(data, function(v,k,o) {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var dt = Y.Node.create('<dt>'+k+'</dt>');
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra 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>');
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra dt.appendChild(dd);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra dl.appendChild(dt);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra });
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra //console.log(data);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.one('#results').appendChild(dl);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra },
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra reportParser: function(report) {
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra return (report.calls > 0 && report.avg > 0.2);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra },
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra /////////////////////////////////////////////////////////////////////////////
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra //
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra // Tests
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra //
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra /////////////////////////////////////////////////////////////////////////////
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testBaseDatatable: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = "#base";
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtBase');
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols, recordset:this.data, caption:"Base"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtBase');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtBase') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, "time");
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testXYDatatable: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = '#scrolling-xy';
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtXY');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols, recordset:this.data, tdValueTemplate:"plug then render {value}", caption: "ScrollingDataTable"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.dt.plug(Y.Plugin.DataTableScroll, {width:"200px", height:"300px", scroll:"xy"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtXY');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtXY') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, "time");
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testXDatatable: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = "#scrolling-x";
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtX');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols2, recordset:this.data, caption:"ScrollingDataTable"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.plug(Y.Plugin.DataTableScroll, {width:"150px", scroll:"x"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtX');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtX') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, "time");
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testYDatatable_FixedCol: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = "#scrolling-y";
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtY1');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.plug(Y.Plugin.DataTableScroll, {height:"300px", scroll:"y"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtY1');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtY1') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, 'time');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testYDatatable_AutoCol: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = "#scrolling-colwidth";
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtY2');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols2, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.plug(Y.Plugin.DataTableScroll, {height:"250px", scroll:"y"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtY2');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtY2') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, 'time');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra },
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra testXYDatatable_BigHeaders: function() {
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var sel = "#scrolling-bigcols";
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.start('dtHeaders');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt = new Y.DataTable.Base({columnset:this.cols3, recordset:this.data, tdValueTemplate:"plug then render {value}", caption:"ScrollingDataTable"});
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.registerObject('dt', this.dt);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.plug(Y.Plugin.DataTableScroll, {height:"250px", width:"400px", scroll:"xy"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra this.dt.render(sel);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Profiler.stop('dtHeaders');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var msg = Y.Profiler.getAverage('dtHeaders') + 'ms taken to display';
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra var report = Y.Profiler.getFullReport(this.reportParser);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra this.displayReport(report);
31dc38d003f727e19c61510100f8418658af15d5Tilo Mitra Y.Profiler.unregisterObject('dt');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.log(msg, 'time');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.one(sel).appendChild('<p class="message">'+msg+'</p>');
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra }
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra });
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra var suite = new Y.Test.Suite({name:"Datatable Test Suite"});
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra suite.add(testBasic);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Test.Runner.setName("Datatable Test Runner");
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Test.Runner.add(suite);
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra Y.Test.Runner.run();
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra });
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra})();
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra</script>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra</body>
28ab732ad7743763a94f34d018067c184e17de96Tilo Mitra</html>