JavaScript
YUI({
filter: 'raw',
debug: true,
combine: false,
}).use("datatable", "node", 'datatable-scroll', 'model-list', function(Y) {
var table, MyModelList;
function compare(x, y) {
return x.dint - y.dint;
}
function reversedCompare(x, y) {
return y.dint - x.dint;
}
function LocalModelSync(){}
LocalModelSync.prototype = {
sync: function(action, options, callback){
data = [
{dnum:100, dint:1, dtxt:"Test \r \n 1 string", dname:"George"},
{dnum:101, dint:2, dtxt:"Test 2 string", dname:"Paul"},
{dnum:102, dint:3, dtxt:"Test 3 string", dname:"Chase"},
{dnum:103, dint:4, dtxt:"Test 4 string", dname:"Marge"},
{dnum:104, dint:5, dtxt:"Test 5 string", dname:"Ben"},
{dnum:105, dint:6, dtxt:"Test 6 string", dname:"Skyler"},
{dnum:106, dint:7, dtxt:"Test 7 string", dname:"Lara"},
{dnum:107, dint:1, dtxt:"Test 1 string", dname:"George"},
{dnum:108, dint:2, dtxt:"Test 2 string", dname:"Paul"},
{dnum:109, dint:3, dtxt:"Test 3 string", dname:"Chase"},
{dnum:110, dint:4, dtxt:"Test 4 string", dname:"Marge"},
{dnum:111, dint:5, dtxt:"Test 5 string", dname:"Ben"},
{dnum:112, dint:6, dtxt:"Test 6 string", dname:"Skyler"},
{dnum:113, dint:7, dtxt:"Test 7 string", dname:"Lara"}
];
if (options.sortBy){
data.sort(options.sortBy[0].dint === 1 ? compare : reversedCompare);
}
callback(null, data);
}
};
MyModelList = Y.Base.create('myModelList', Y.ModelList, [LocalModelSync],{
sort: function (){
if (this.serverSideSort) {
Y.one('#msg').set('innerHTML', "Prevented client side sort!");
Y.later(1000, null, function (){
...